diff --git a/.github/workflows/link-check-all.yml b/.github/workflows/link-check-all.yml index db3848d588..d983604699 100644 --- a/.github/workflows/link-check-all.yml +++ b/.github/workflows/link-check-all.yml @@ -53,6 +53,14 @@ jobs: # Don't care about CDN caching image URLs DISABLE_REWRITE_ASSET_URLS: true run: | + + # Note as of Aug 2022, we *don't* check external links + # on the pages you touched in the PR. We could enable that + # but it has the added risk of false positives blocking CI. + # We are using this script for the daily/nightly checker that + # checks external links too. Once we're confident it really works + # well, we can consider enabling it here on every content PR too. + ./script/rendered-content-link-checker.js \ --language en \ --max 100 \ diff --git a/assets/images/help/repository/code-scanning-analysis-not-found.png b/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png similarity index 100% rename from assets/images/help/repository/code-scanning-analysis-not-found.png rename to assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png diff --git a/assets/images/help/classroom/classroom-settings-click-google-classroom.png b/assets/images/help/classroom/classroom-settings-click-google-classroom.png new file mode 100644 index 0000000000..f43d23817c Binary files /dev/null and b/assets/images/help/classroom/classroom-settings-click-google-classroom.png differ diff --git a/assets/images/help/codespaces/jupyter-notebook-step3.png b/assets/images/help/codespaces/jupyter-notebook-step3.png new file mode 100644 index 0000000000..2b7208bf5b Binary files /dev/null and b/assets/images/help/codespaces/jupyter-notebook-step3.png differ diff --git a/assets/images/help/codespaces/jupyter-python-kernel-dropdown.png b/assets/images/help/codespaces/jupyter-python-kernel-dropdown.png new file mode 100644 index 0000000000..64a573c63f Binary files /dev/null and b/assets/images/help/codespaces/jupyter-python-kernel-dropdown.png differ diff --git a/assets/images/help/codespaces/jupyter-python-kernel-link.png b/assets/images/help/codespaces/jupyter-python-kernel-link.png new file mode 100644 index 0000000000..6809b4498c Binary files /dev/null and b/assets/images/help/codespaces/jupyter-python-kernel-link.png differ diff --git a/assets/images/help/codespaces/jupyter-run-all.png b/assets/images/help/codespaces/jupyter-run-all.png new file mode 100644 index 0000000000..429aaa1245 Binary files /dev/null and b/assets/images/help/codespaces/jupyter-run-all.png differ diff --git a/assets/images/help/codespaces/open-codespace-in-jupyter.png b/assets/images/help/codespaces/open-codespace-in-jupyter.png new file mode 100644 index 0000000000..f404c6f615 Binary files /dev/null and b/assets/images/help/codespaces/open-codespace-in-jupyter.png differ diff --git a/assets/images/help/enterprises/audit-stream-choice-datadog.png b/assets/images/help/enterprises/audit-stream-choice-datadog.png new file mode 100644 index 0000000000..0d81cd0bc5 Binary files /dev/null and b/assets/images/help/enterprises/audit-stream-choice-datadog.png differ diff --git a/assets/images/help/enterprises/audit-stream-datadog-site.png b/assets/images/help/enterprises/audit-stream-datadog-site.png new file mode 100644 index 0000000000..05826e3230 Binary files /dev/null and b/assets/images/help/enterprises/audit-stream-datadog-site.png differ diff --git a/assets/images/help/enterprises/audit-stream-datadog-token.png b/assets/images/help/enterprises/audit-stream-datadog-token.png new file mode 100644 index 0000000000..68af0881e8 Binary files /dev/null and b/assets/images/help/enterprises/audit-stream-datadog-token.png differ diff --git a/assets/images/help/settings/cookie-settings-accept-or-reject.png b/assets/images/help/settings/cookie-settings-accept-or-reject.png new file mode 100644 index 0000000000..3c220255fd Binary files /dev/null and b/assets/images/help/settings/cookie-settings-accept-or-reject.png differ diff --git a/assets/images/help/settings/cookie-settings-manage.png b/assets/images/help/settings/cookie-settings-manage.png new file mode 100644 index 0000000000..c95b55080a Binary files /dev/null and b/assets/images/help/settings/cookie-settings-manage.png differ diff --git a/assets/images/help/settings/cookie-settings-save.png b/assets/images/help/settings/cookie-settings-save.png new file mode 100644 index 0000000000..7a85412d78 Binary files /dev/null and b/assets/images/help/settings/cookie-settings-save.png differ diff --git a/assets/images/hosted-runner-mgmt.png b/assets/images/hosted-runner-mgmt.png new file mode 100644 index 0000000000..9b62a8c944 Binary files /dev/null and b/assets/images/hosted-runner-mgmt.png differ diff --git a/assets/images/hosted-runner.png b/assets/images/hosted-runner.png new file mode 100644 index 0000000000..fa052d51ee Binary files /dev/null and b/assets/images/hosted-runner.png differ diff --git a/components/hooks/useTheme.ts b/components/hooks/useTheme.ts index b8134a0e57..b9f9d87111 100644 --- a/components/hooks/useTheme.ts +++ b/components/hooks/useTheme.ts @@ -81,7 +81,8 @@ export function getCssTheme(cookieValue = ''): CssColorTheme { darkTheme: filterTheme(dark_theme) || defaultCSSTheme.darkTheme, } } catch (err) { - console.warn("Unable to parse 'color_mode' cookie", err) + if (process.env.NODE_ENV === 'development') + console.warn("Unable to parse 'color_mode' cookie", err) return defaultCSSTheme } } diff --git a/components/lib/get-rest-code-samples.ts b/components/lib/get-rest-code-samples.ts index 982c6945cb..27c6a7f4ec 100644 --- a/components/lib/get-rest-code-samples.ts +++ b/components/lib/get-rest-code-samples.ts @@ -45,7 +45,7 @@ export function getShellExample(operation: Operation, codeSample: CodeSample) { const args = [ operation.verb !== 'get' && `-X ${operation.verb.toUpperCase()}`, - `-H "Accept: ${defaultAcceptHeader}" \\ \n -H "Authorization: token "`, + `-H "Accept: ${defaultAcceptHeader}" \\ \n -H "Authorization: Bearer "`, `${operation.serverUrl}${requestPath}`, requestBodyParams, ].filter(Boolean) @@ -86,12 +86,12 @@ export function getGHExample(operation: Operation, codeSample: CodeSample) { requestBodyParams = Object.keys(codeSample.request.bodyParameters) .map((key) => { if (typeof codeSample.request.bodyParameters[key] === 'string') { - return `-f ${key}='${codeSample.request.bodyParameters[key]}'\n` + return `-f ${key}='${codeSample.request.bodyParameters[key]}' ` } else { - return `-F ${key}=${codeSample.request.bodyParameters[key]}\n` + return `-F ${key}=${codeSample.request.bodyParameters[key]} ` } }) - .join(' ') + .join('\\\n ') } const args = [ operation.verb !== 'get' && `--method ${operation.verb.toUpperCase()}`, @@ -141,11 +141,7 @@ export function getJSExample(operation: Operation, codeSample: CodeSample) { } } const comment = `// Octokit.js\n// https://github.com/octokit/core.js#readme\n` - const require = `const octokit = new Octokit(${stringify( - { auth: 'personal-access-token123' }, - null, - 2 - )})\n\n` + const require = `const octokit = new Octokit(${stringify({ auth: 'YOUR-TOKEN' }, null, 2)})\n\n` return `${comment}${require}await octokit.request('${operation.verb.toUpperCase()} ${ operation.requestPath diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx index 010d218b1d..d04647983e 100644 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx +++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/dotnet.tsx @@ -53,18 +53,26 @@ const article: PlaygroundArticleT = { To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - 1. Access the Command Palette (Shift + Command + P / Ctrl + Shift + P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - ![Codespaces: Add Development Container Configuration Files... in the command palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. + + ![Codespaces: Add Development Container Configuration Files... in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 2. For this example, click **C# (.NET)**. If you need additional features you can select any container that’s specific to C# (.NET) or a combination of tools such as C# (.NET) and MS SQL. - ![Select C# (.NET) option from the list](/assets/images/help/codespaces/add-dotnet-prebuilt-container.png) + ![Select C# (.NET) option from the list](/assets/images/help/codespaces/add-dotnet-prebuilt-container.png) + 3. Click the recommended version of .NET. - ![.NET version selection](/assets/images/help/codespaces/add-dotnet-version.png) + + ![.NET version selection](/assets/images/help/codespaces/add-dotnet-version.png) + 4. Accept the default option to add Node.js to your customization. - ![Add Node.js selection](/assets/images/help/codespaces/dotnet-options.png) + + ![Add Node.js selection](/assets/images/help/codespaces/dotnet-options.png) + 5. Select any additional features to install and click **OK**. - 6. Access the command palette (Shift + Command + P / Ctrl + Shift + P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + 6. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + `, }, { @@ -197,13 +205,16 @@ const article: PlaygroundArticleT = { "postCreateCommand": "dotnet restore", \`\`\` - 4. Access the command palette (\`Shift + Command + P\`/ \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. + 4. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + + Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. 5. Check your changes were successfully applied by verifying the "Code Spell Checker" extension was installed. - ![Extensions list](/assets/images/help/codespaces/dotnet-extensions.png) + ![Extensions list](/assets/images/help/codespaces/dotnet-extensions.png) + `, }, { @@ -217,9 +228,10 @@ const article: PlaygroundArticleT = { 1. Run your application by pressing \`F5\` or entering \`dotnet watch run\` in your terminal. - 2. When your project starts, you should see a message in the bottom right corner with a prompt to connect to the port your project uses. + 2. When your project starts, you should see a message in the bottom right corner with a prompt to connect to the port your project uses. + + ![Port forwarding toast](/assets/images/help/codespaces/python-port-forwarding.png) - ![Port forwarding toast](/assets/images/help/codespaces/python-port-forwarding.png) `, }, { diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx index 6824f820c6..3950e5920f 100644 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx +++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/java.tsx @@ -51,15 +51,23 @@ const article: PlaygroundArticleT = { To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - 1. Access the Command Palette (\`Shift + Command + P\` / \`Ctrl + Shift + P\`), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - !["Codespaces: Add Development Container Configuration Files..." in the command palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. + + !["Codespaces: Add Development Container Configuration Files..." in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 2. For this example, click **Java**. In practice, you could select any container that’s specific to Java or a combination of tools such as Java and Azure Functions. - ![Select Java option from the list](/assets/images/help/codespaces/add-java-prebuilt-container.png) + + ![Select Java option from the list](/assets/images/help/codespaces/add-java-prebuilt-container.png) + 3. Click the recommended version of Java. - ![Java version selection](/assets/images/help/codespaces/add-java-version.png) + + ![Java version selection](/assets/images/help/codespaces/add-java-version.png) + 4. Select any additional features to install and click **OK**. - 5. Access the command palette (\`Shift + Command + P\`/ \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + 5. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + `, }, { @@ -185,9 +193,11 @@ const article: PlaygroundArticleT = { For more information about \`devcontainer.json\` properties, see the Visual Studio Code documentation: "[devcontainer.json reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference)." - 4. Access the command palette (\`Shift + Command + P\`/ \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. + 4. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + + Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. `, }, { diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx index 6667f11234..eebba23d1f 100644 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx +++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/nodejs.tsx @@ -29,7 +29,7 @@ const article: PlaygroundArticleT = { content: dedent` 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on BRANCH**. - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) + ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information. @@ -51,15 +51,23 @@ const article: PlaygroundArticleT = { To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - 1. Access the Command Palette (\`Shift + Command + P\` / \`Ctrl + Shift + P\`), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - !["Codespaces: Add Development Container Configuration Files..." in the command palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. + + !["Codespaces: Add Development Container Configuration Files..." in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 2. For this example, click **Node.js**. If you need additional features you can select any container that’s specific to Node or a combination of tools such as Node and MongoDB. - ![Select Node option from the list](/assets/images/help/codespaces/add-node-prebuilt-container.png) + + ![Select Node option from the list](/assets/images/help/codespaces/add-node-prebuilt-container.png) + 3. Click the recommended version of Node.js. - ![Node.js version selection](/assets/images/help/codespaces/add-node-version.png) + + ![Node.js version selection](/assets/images/help/codespaces/add-node-version.png) + 4. Select any additional features to install and click **OK**. - 5. Access the command palette (\`Shift + Command + P\`/ \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + 5. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + `, }, { @@ -173,7 +181,9 @@ const article: PlaygroundArticleT = { With your dev container configuration added and a basic understanding of what everything does, you can now make changes to customize your environment further. In this example, you'll add properties to install npm when your codespace launches and make a list of ports inside the container available locally. 1. In the Explorer, select the \`devcontainer.json\` file from the tree to open it. You might have to expand the \`.devcontainer\` folder to see it. - ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) + + ![devcontainer.json file in the Explorer](/assets/images/help/codespaces/devcontainers-options.png) + 2. Add the following lines to your \`devcontainer.json\` file after \`extensions\`: \`\`\`js{:copy} @@ -182,10 +192,11 @@ const article: PlaygroundArticleT = { \`\`\` For more information about \`devcontainer.json\` properties, see the Visual Studio Code documentation: "[devcontainer.json reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference)." - 1. Access the command palette (\`Shift + Command + P\`/ \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + 3. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + + Rebuilding inside your codespace ensures your changes work as expected before you commit the changes to the repository. If something does result in a failure, you’ll be placed in a codespace with a recovery container that you can rebuild from to keep adjusting your container. `, }, { diff --git a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx index 7bba6a54a8..87425b849b 100644 --- a/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx +++ b/components/playground/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-project-for-codespaces/python.tsx @@ -29,9 +29,9 @@ const article: PlaygroundArticleT = { content: dedent` 1. Under the repository name, use the **Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on BRANCH**. - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) + ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information. + If you don’t see this option, GitHub Codespaces isn't available for your project. See [Access to GitHub Codespaces](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces) for more information. When you create a codespace, your project is created on a remote VM that is dedicated to you. By default, the container for your codespace has many languages and runtimes including Python, pip, and Miniconda. It also includes a common set of tools like git, wget, rsync, openssh, and nano. @@ -53,17 +53,27 @@ const article: PlaygroundArticleT = { To set up your repository to use a custom dev container, you will need to create one or more \`devcontainer.json\` files. You can add these either from a template, in Visual Studio Code, or you can write your own. For more information on dev container configurations, see "[Introduction to dev containers](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)". - 1. Access the command palette (\`Shift + Command + P\` / \`Ctrl + Shift + P\`), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. - !["Codespaces: Add Development Container Configuration Files..." in the command palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 1. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "dev container". Select **Codespaces: Add Development Container Configuration Files...**. + + !["Codespaces: Add Development Container Configuration Files..." in the Command Palette](/assets/images/help/codespaces/add-prebuilt-container-command.png) + 2. For this example, click **Python 3**. If you need additional features you can select any container that’s specific to Python or a combination of tools such as Python 3 and PostgreSQL. - ![Select Python option from the list](/assets/images/help/codespaces/add-python-prebuilt-container.png) + + ![Select Python option from the list](/assets/images/help/codespaces/add-python-prebuilt-container.png) + 3. Click the recommended version of Python. - ![Python version selection](/assets/images/help/codespaces/add-python-version.png) + + ![Python version selection](/assets/images/help/codespaces/add-python-version.png) + 4. Accept the default option to add Node.js to your customization. - ![Add Node.js selection](/assets/images/help/codespaces/add-nodejs-selection.png) + + ![Add Node.js selection](/assets/images/help/codespaces/add-nodejs-selection.png) + 5. Select any additional features to install and click **OK**. - 6. Access the command palette (\`Shift + Command + P\` / \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. - ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + 6. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + + ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) + `, }, { @@ -197,7 +207,7 @@ const article: PlaygroundArticleT = { "postCreateCommand": "pip3 install --user -r requirements.txt", \`\`\` - 4. Access the command palette (\`Shift + Command + P\` / \`Ctrl + Shift + P\`), then start typing "rebuild". Select **Codespaces: Rebuild Container**. + 4. Access the Command Palette (Shift+Command+P / Ctrl+Shift+P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) diff --git a/components/rest/RestOperation.module.scss b/components/rest/RestOperation.module.scss index 37efa6b34a..8d582d3a47 100644 --- a/components/rest/RestOperation.module.scss +++ b/components/rest/RestOperation.module.scss @@ -13,6 +13,6 @@ table-layout: fixed !important; } -.codeBlock code { +.codeBlock code:not(td *) { word-break: break-all; } diff --git a/components/ui/MiniTocs/MiniTocs.tsx b/components/ui/MiniTocs/MiniTocs.tsx index 621e82fd84..c1301d20a0 100644 --- a/components/ui/MiniTocs/MiniTocs.tsx +++ b/components/ui/MiniTocs/MiniTocs.tsx @@ -1,4 +1,3 @@ -import React from 'react' import { Heading, NavList } from '@primer/react' import cx from 'classnames' diff --git a/content/README.md b/content/README.md index 73a5127c20..139e1802d4 100644 --- a/content/README.md +++ b/content/README.md @@ -227,7 +227,7 @@ defaultPlatform: linux ### `defaultTool` -- Purpose: Override the initial tool selection for a page, where tool refers to the application the reader is using to work with GitHub (such as GitHub.com's web UI, the GitHub CLI, or GitHub Desktop) or the GitHub APIs (such as cURL or the GitHub CLI). For more information about the tool selector, see [Markup reference for GitHub Docs](../contributing/content-markup-reference.md#tool-tags). If this frontmatter is omitted, then the tool-specific content matching the GitHub web UI is shown by default. If a user has indicated a tool preference (by clicking on a tool tab), then the user's preference will be applied instead of the default value. +- Purpose: Override the initial tool selection for a page, where the tool refers to the application the reader is using to work with GitHub (such as GitHub.com's web UI, the GitHub CLI, or GitHub Desktop) or the GitHub APIs (such as cURL or the GitHub CLI). For more information about the tool selector, see [Markup reference for GitHub Docs](../contributing/content-markup-reference.md#tool-tags). If this frontmatter is omitted, then the tool-specific content matching the GitHub web UI is shown by default. If a user has indicated a tool preference (by clicking on a tool tab), then the user's preference will be applied instead of the default value. - Type: `String`, one of: `webui`, `cli`, `desktop`, `curl`, `codespaces`, `vscode`, `importer_cli`, `graphql`, `powershell`, `bash`, `javascript`. - Optional. @@ -263,9 +263,9 @@ includeGuides: - Optional. ### `topics` -- Purpose: Indicate the topics covered by the article. The topics are used to filter guides on some landing pages. For example, the guides at the bottom of [this page](https://docs.github.com/en/actions/guides) can be filtered by topics and the topics are listed under the guide intro. Topics are also added to all search records that get created for each page. The search records contain a `topics` property that is used to filter search results by topics. For more information, see the [Search](/contributing/search.md) contributing guide. Refer to the content models for more details around adding topics. A full list of existing topics is located in the [allowed topics file](/data/allowed-topics.js). If topics in article frontmatter and the allow-topics list become out of sync, the [topics CI test](/tests/unit/search/topics.js) will fail. +- Purpose: Indicate the topics covered by the article. The topics are used to filter guides on some landing pages. For example, the guides at the bottom of [this page](https://docs.github.com/en/actions/guides) can be filtered by topics, and the topics are listed under the guide intro. Topics are also added to all search records that get created for each page. The search records contain a `topics` property that is used to filter search results by topics. For more information, see the [Search](/contributing/search.md) contributing guide. Refer to the content models for more details about adding topics. A full list of existing topics is located in the [allowed topics file](/data/allowed-topics.js). If topics in article frontmatter and the allow-topics list become out of sync, the [topics CI test](/tests/unit/search/topics.js) will fail. - Type: Array of `String`s -- Optional: Topics are preferred for each article, but, there may be cases where existing articles don't yet have topics or adding a topic to a new article may not add value. +- Optional: Topics are preferred for each article, but, there may be cases where existing articles don't yet have topics, or adding a topic to a new article may not add value. ### `contributor` - Purpose: Indicate an article is contributed and maintained by a third-party organization, typically a GitHub Technology Partner. @@ -294,7 +294,7 @@ contributor: If you see two single quotes in a row (`''`) in YML frontmatter where you might expect to see one (`'`), this is the YML-preferred way to escape a single quote. From [the YAML spec](https://yaml.org/spec/history/2001-12-10.html): -> In single quoted leaves, a single quote character needs to be escaped. This is done by repeating the character. +> In single-quoted leaves, a single quote character needs to be escaped. This is done by repeating the character. As an alternative, you can change the single quotes surrounding the frontmatter field to double quotes and leave interior single quotes unescaped. @@ -314,7 +314,7 @@ Make sure not to add hardcoded "In this article" sections in the Markdown source A content file can have **two** types of versioning: * [`versions`](#versions) frontmatter (**required**) - * Determines in which the versions the page is available. See [contributing/permalinks](../contributing/permalinks.md) for more info. + * Determines in which versions the page is available. See [contributing/permalinks](../contributing/permalinks.md) for more info. * Liquid statements in content (**optional**) * Conditionally render content depending on the current version being viewed. See [contributing/liquid-helpers](../contributing/liquid-helpers.md) for more info. Note Liquid conditionals can also appear in `data` and `include` files. @@ -358,7 +358,7 @@ and when viewed on GitHub Enterprise Server docs, the version is included as wel ### Preventing transformations -Sometimes you want to link to a Dotcom-only article in Enterprise content and you don't want the link to be Enterprise-ified. To prevent the transformation, include the preferred version in the path. +Sometimes you want to link to a Dotcom-only article in Enterprise content and you don't want the link to be Enterprise-ified. To prevent the transformation, you should include the preferred version in the path. ```markdown "[GitHub's Terms of Service](/free-pro-team@latest/github/site-policy/github-terms-of-service)" @@ -388,8 +388,8 @@ The homepage is the main Table of Contents file for the docs site. The homepage To create a product guides page (e.g. [Actions' Guide page](https://docs.github.com/en/actions/guides)), create or modify an existing markdown file with these specific frontmatter values: -1. Use the product guides page template by referencing it `layout: product-guides` -2. (optional) Include the learning tracks in [`learningTracks`](#learningTracks) +1. Use the product guides page template by referencing `layout: product-guides`. +2. (optional) Include the learning tracks in [`learningTracks`](#learningTracks). 3. (optional) Define which articles to include with [`includeGuides`](#includeGuides). If using learning tracks, they need to be defined in [`data/learning-tracks/*.yml`](../data/learning-tracks/README.md). diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index 2f1b6925f7..7a6d7d6320 100644 --- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -25,6 +25,7 @@ children: - /managing-the-default-branch-name-for-your-repositories - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards + - /managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages - /integrating-jira-with-your-personal-projects - /what-does-the-available-for-hire-checkbox-do shortTitle: Personal account settings diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md new file mode 100644 index 0000000000..9f7621f056 --- /dev/null +++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md @@ -0,0 +1,33 @@ +--- +title: Managing your cookie preferences for GitHub's enterprise marketing pages +intro: "You can control how {% data variables.product.company_short %} uses information from non-essential tracking cookies for enterprise marketing pages." +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Manage cookie preferences +--- + +## About cookie preferences on enterprise marketing pages + +{% data variables.product.company_short %} may use non-essential cookies on some enterprise marketing pages. You can customize how these cookies behave. For more information about how {% data variables.product.company_short %} uses cookies, see "[{% data variables.product.company_short %} Privacy Statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement)." + +## Changing your cookie preferences + +You can customize how non-essential cookies behave on any {% data variables.product.company_short %} enterprise marketing page. + +1. Navigate to the {% data variables.product.company_short %} enterprise marketing page where you'd like to change your cookie preferences. For example, navigate to [{% data variables.product.company_short %} Resources](https://resources.github.com/). +1. Scroll to the bottom of the page, then click **Manage Cookies**. + + ![Screenshot of button to manage cookie settings.](/assets/images/help/settings/cookie-settings-manage.png) + +1. Under "Manage cookie preferences," to accept or reject each non-essential cookie, click **Accept** or **Reject**. + + ![Screenshot of radio buttons to choose "Accept" or "Reject" for non-essential cookies.](/assets/images/help/settings/cookie-settings-accept-or-reject.png) + +1. Click **Save changes**. + + ![Screenshot of button to save changes.](/assets/images/help/settings/cookie-settings-save.png) 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 8103a977e8..f3eecc8858 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 @@ -145,11 +145,11 @@ With OIDC, a {% data variables.product.prodname_actions %} workflow requires a t Audience and Subject claims are typically used in combination while setting conditions on the cloud role/resources to scope its access to the GitHub workflows. - **Audience**: By default, this value uses the URL of the organization or repository owner. This can be used to set a condition that only the workflows in the specific organization can access the cloud role. -- **Subject**: Has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. +- **Subject**: By default, has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. -There are also many additional claims supported in the OIDC token that can also be used for setting these conditions. +If you need more granular trust conditions, you can customize the issuer (`iss`) and subject (`sub`) claims that are included with the JWT. For more information, see "[Customizing the token claims](#customizing-the-token-claims)". -In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. +There are also many additional claims supported in the OIDC token that can be used for setting these conditions. In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. {% note %} @@ -243,9 +243,13 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% ifversion actions-oidc-hardening-config %} ## Customizing the token claims -You can security harden your OIDC configuration by customizing the claims that are included with the JWT. This allows your cloud provider to apply more granular trust conditions when determining whether to grant access to its resources. For example, {% ifversion ghec %}you can customize the issuer (`iss`) claim to only allow access from a specific enterprise URL, and {% endif %}you can customize the subject (`sub`) value to require that requests originate from a specific repository, reusable workflow, or other source. +You can security harden your OIDC configuration by customizing the claims that are included with the JWT. These customisations allow you to define more granular trust conditions on your cloud roles when allowing your workflows to access resources hosted in the cloud: -To configure the claim conditions on {% data variables.product.prodname_dotcom %}, you can use the REST API endpoints described in the following sections. +{% ifversion ghec %} - For an additional layer of security, you can append the `issuer` url with your enterprise slug. This lets you set conditions on the issuer (`iss`) claim, configuring it to only accept JWT tokens from a unique `issuer` URL that must include your enterprise slug.{% endif %} +- You can standardize your OIDC configuration by setting conditions on the subject (`sub`) claim that require JWT tokens to originate from a specific repository, reusable workflow, or other source. +- You can define granular OIDC policies by using additional OIDC token claims, such as `repository_id` and `repo_visibility`. For more information, see "[Understanding the OIDC token](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)". + +To customize these claim formats, organization and repository admins can use the REST API endpoints described in the following sections. {% ifversion ghec %} @@ -280,19 +284,21 @@ After this setting is applied, the JWT will contain the updated `iss` value. In To configure organization-wide security, compliance, and standardization, you can customize the standard claims to suit your required access conditions. If your cloud provider supports conditions on subject claims, you can create a condition that checks whether the `sub` value matches the path of the reusable workflow, such as `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. The exact format will vary depending on your cloud provider's OIDC configuration. To configure the matching condition on {% data variables.product.prodname_dotcom %}, you can can use the REST API to require that the `sub` claim must always include a specific custom claim, such as `job_workflow_ref`. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)." +Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." + The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, organization admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. {% data reusables.actions.use-request-body-api %} -To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before adding the configuration using the REST API. Once the configuration is completed, each time a new job runs, the OIDC token generated during that job will follow the new customization template. If the matching condition doesn't exist in the cloud provider's OIDC configuration before the job runs, the generated token might not be accepted by the cloud provider, since the cloud conditions may not be synchronized. +To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before customizing the configuration using the REST API. Once the configuration is completed, each time a new job runs, the OIDC token generated during that job will follow the new customization template. If the matching condition doesn't exist in the cloud provider's OIDC configuration before the job runs, the generated token might not be accepted by the cloud provider, since the cloud conditions may not be synchronized. {% note %} -**Note**: When the organization template is applied, it will not affect any existing repositories that already use OIDC. For new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. For more information, see "[Set the opt-in flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)." +**Note**: When the organization template is applied, it will not affect any existing repositories that already use OIDC. For existing repositories, as well as any new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. For more information, see "[Set the opt-in flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)." {% endnote %} #### Example: Allowing repository based on visibility and owner -This example template enables cloud access based on repository visibility and owner, letting you restrict cloud role access to only private repositories within an organization or enterprise. {% data reusables.actions.use-request-body-api %} +This example template allows the `sub` claim to have a new format, using `repository_owner` and `repository_visibility`: ```json { @@ -303,11 +309,11 @@ This example template enables cloud access based on repository visibility and ow } ``` -In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repository_owner` and `repository_visibility`. For example: `"repository_owner: "monalisa":repository_visibility:private"`. +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repository_owner` and `repository_visibility`. For example: `"repository_owner: "monalisa":repository_visibility:private"`. The approach lets you restrict cloud role access to only private repositories within an organization or enterprise. #### Example: Allowing access to all repositories with a specific owner -This example template grants access to all repositories with a specified `repository_owner`. {% data reusables.actions.use-request-body-api %} +This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. {% data reusables.actions.use-request-body-api %} ```json { @@ -322,7 +328,9 @@ In your cloud provider's OIDC configuration, configure the `sub` condition to re #### Example: Requiring a reusable workflow -This example template requires a specific reusable workflow in a claim, letting an enterprise enforce consistent deployments across its enterprise, organizations, and repositories. {% data reusables.actions.use-request-body-api %} +This example template allows the `sub` claim to have a new format that contains the value of the `job_workflow_ref` claim. This enables an enterprise to use [reusable workflows](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims) to enforce consistent deployments across its organizations and repositories. + +{% data reusables.actions.use-request-body-api %} ```json { @@ -336,7 +344,9 @@ In your cloud provider's OIDC configuration, configure the `sub` condition to re #### Example: Requiring a reusable workflow and other claims -This example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} +The following example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} + +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. ```json { @@ -350,6 +360,9 @@ This example template combines the requirement of a specific reusable workflow w In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. +For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` + #### Example: Granting access to a specific repository This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." diff --git a/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md b/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md index 1fb177d065..25ba9d8db0 100644 --- a/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md +++ b/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md @@ -23,11 +23,18 @@ topics: Rather than copying and pasting deployment jobs from one workflow to another, you can create a reusable workflow that performs the deployment steps. A reusable workflow can be used by another workflow if it meets one of the access requirements described in "[Reusing workflows](/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows)." -When combined with OpenID Connect (OIDC), reusable workflows let you enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. +You should be familiar with the concepts described in "[Reusing workflows](/actions/learn-github-actions/reusing-workflows" and "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)." -In order to create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. This allows your cloud provider to identify which repository the job originally came from. If your cloud provider only supports the standard claims (_audience_ and _subject_), it will not be able to determine that the job originated from the reusable workflow repository. Cloud providers that support `job_workflow_ref` include Google Cloud Platform and HashiCorp Vault. +## Defining the trust conditions -Before proceeding, you should be familiar with the concepts of [reusable workflows](/actions/learn-github-actions/reusing-workflows) and [OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect). +When combined with OpenID Connect (OIDC), reusable workflows let you enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. The available options will vary depending on your cloud provider: + +- **Using `job_workflow_ref`**: + - To create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. This allows your cloud provider to identify which repository the job originally came from. + - For clouds that only support the standard claims (audience (`aud`) and subject (`sub`)), you can use the API to customize the `sub` claim to include `job_workflow_ref`. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". Support for custom claims is currently available for Google Cloud Platform and HashiCorp Vault. + +- **Customizing the token claims**: + - You can configure more granular trust conditions by customizing the issuer (`iss`) and subject (`sub`) claims included with the JWT. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". ## How the token works with reusable workflows diff --git a/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md b/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md index 33df75d7fe..6e76788770 100644 --- a/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md @@ -71,7 +71,7 @@ You can add self-hosted runners at the organization level, where they can be use {% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} {% data reusables.organizations.settings-sidebar-actions-runners %} -1. Click **New runner**. +{% ifversion actions-hosted-runners %}1. Click **New runner**, then click **New self-hosted runner**.{% else %}1. Click **New runner**.{% endif %} {% data reusables.actions.self-hosted-runner-configure %} {% elsif ghae or ghes < 3.4 %} {% data reusables.organizations.navigate-to-org %} diff --git a/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index f3f28d5e15..f95896503d 100644 --- a/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -18,15 +18,24 @@ shortTitle: Run runner app on startup {% capture service_first_step %}1. Stop the self-hosted runner application if it is currently running.{% endcapture %} {% capture service_non_windows_intro_shell %}On the runner machine, open a shell in the directory where you installed the self-hosted runner application. Use the commands below to install and manage the self-hosted runner service.{% endcapture %} -{% capture service_nonwindows_intro %}You must add a runner to {% data variables.product.product_name %} before you can configure the self-hosted runner application as a service. For more information, see "[Adding self-hosted runners](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)."{% endcapture %} -{% capture service_win_name %}actions.runner.*{% endcapture %} +{% capture service_nonwindows_intro %} + +{% note %} + +**Note:** You must add a runner to {% data variables.product.product_name %} before you can configure the self-hosted runner application as a service. +For more information, see "[Adding self-hosted runners](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)." + +{% endnote %} +{% endcapture %} + +{% capture service_win_name %}actions.runner.*{% endcapture %} {% linux %} {{ service_nonwindows_intro }} -For Linux systems that use `systemd`, you can use the `svc.sh` script distributed with the self-hosted runner application to install and manage using the application as a service. +For Linux systems that use `systemd`, you can use the `svc.sh` script that is created after successfully adding the runner to install and manage using the application as a service. {{ service_non_windows_intro_shell }} diff --git a/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md b/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md index 63a8e542c8..acf5f26451 100644 --- a/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md +++ b/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md @@ -9,216 +9,65 @@ versions: ghae: '*' ghec: '*' type: tutorial -shortTitle: Manage access to runners +shortTitle: Using runner groups --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} -## About self-hosted runner groups +## About runner groups -{% ifversion fpt %} -{% note %} - -**Note:** All organizations have a single default self-hosted runner group. Only enterprise accounts and organizations owned by enterprise accounts can create and manage additional self-hosted runner groups. - -{% endnote %} - -Self-hosted runner groups are used to control access to self-hosted runners. Organization admins can configure access policies that control which repositories in an organization have access to the runner group. - -If you use {% data variables.product.prodname_ghe_cloud %}, you can create additional runner groups; enterprise admins can configure access policies that control which organizations in an enterprise have access to the runner group; and organization admins can assign additional granular repository access policies to the enterprise runner group. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups). -{% endif %} +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups).{% endif %} {% ifversion ghec or ghes or ghae %} -Self-hosted runner groups are used to control access to self-hosted runners at the organization and enterprise level. Enterprise owners can configure access policies that control which organizations {% ifversion restrict-groups-to-workflows %}and workflows {% endif %}in an enterprise have access to the runner group. Organization owners can configure access policies that control which repositories{% ifversion restrict-groups-to-workflows %} and workflows{% endif %} in an organization have access to the runner group. - -When an enterprise owner grants an organization access to a runner group, organization owners can see the runner group listed in the organization's self-hosted runner settings. The organization owners can then assign additional granular repository{% ifversion restrict-groups-to-workflows %} and workflow{% endif %} access policies to the enterprise runner group. - -When new runners are created, they are automatically assigned to the default group. Runners can only be in one group at a time. You can move runners from the default group to another group. For more information, see "[Moving a self-hosted runner to a group](#moving-a-self-hosted-runner-to-a-group)." ## Creating a self-hosted runner group for an organization -All organizations have a single default self-hosted runner group. Organizations within an enterprise account can create additional self-hosted groups. Organization admins can allow individual repositories access to a runner group. For information about how to create a self-hosted runner group with the REST API, see "[Self-hosted runner groups](/rest/reference/actions#self-hosted-runner-groups)." +{%- ifversion ghec or ghes %} -Self-hosted runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create. +{% data reusables.actions.self-hosted-runner-security-admonition %} -When creating a group, you must choose a policy that defines which repositories{% ifversion restrict-groups-to-workflows %} and workflows{% endif %} have access to the runner group. +{%- endif %} -{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} -{% data reusables.organizations.navigate-to-org %} -{% data reusables.organizations.org_settings %} -{% data reusables.organizations.settings-sidebar-actions-runner-groups %} -1. In the "Runner groups" section, click **New runner group**. -1. Enter a name for your runner group. - {% data reusables.actions.runner-group-assign-policy-repo %} - - {% warning %} - - **Warning**: {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} -{% data reusables.actions.runner-group-assign-policy-workflow %}{%- ifversion restrict-groups-to-workflows %} Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group.{% endif %} -{% data reusables.actions.self-hosted-runner-create-group %} -{% elsif ghae or ghes < 3.4 %} -{% data reusables.organizations.navigate-to-org %} -{% data reusables.organizations.org_settings %} -{% data reusables.organizations.settings-sidebar-actions-runner-groups %} -1. Under {% ifversion ghes or ghae %}"Runners"{% endif %}, click **Add new**, and then **New group**. - - ![Add runner group](/assets/images/help/settings/actions-org-add-runner-group.png) -1. Enter a name for your runner group, and assign a policy for repository access. - - You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization.{% ifversion ghec or ghes %} By default, only private repositories can access runners in a runner group, but you can override this. This setting can't be overridden if configuring an organization's runner group that was shared by an enterprise.{% endif %} - - {%- ifversion ghes %} - {% warning %} - - **Warning**: - - {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} - {%- endif %} - - ![Add runner group options](/assets/images/help/settings/actions-org-add-runner-group-options.png) -1. Click **Save group** to create the group and apply the policy. -{% endif %} +{% data reusables.actions.creating-a-runner-group-for-an-organization %} ## Creating a self-hosted runner group for an enterprise -Enterprises can add their self-hosted runners to groups for access management. Enterprises can create groups of self-hosted runners that are accessible to specific organizations in the enterprise account{% ifversion restrict-groups-to-workflows %} or to specific workflows{% endif %}. Organization owners can then assign additional granular repository{% ifversion restrict-groups-to-workflows %} or workflow{% endif %} access policies to the enterprise runner groups. For information about how to create a self-hosted runner group with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/reference/actions#self-hosted-runner-groups). + {%- ifversion ghec or ghes %} -Self-hosted runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can assign the runner to a specific group during the registration process, or you can later move the runner from the default group to a custom group. +{% data reusables.actions.self-hosted-runner-security-admonition %} -When creating a group, you must choose a policy that defines which organizations have access to the runner group. +{%- endif %} -{% data reusables.actions.self-hosted-runner-groups-add-to-enterprise-first-steps %} -1. To choose a policy for organization access, select the **Organization access** drop-down, and click a policy. You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise.{% ifversion ghes %} By default, only private repositories can access runners in a runner group, but you can override this.{% endif %} - - {%- ifversion ghec or ghes %} - {% warning %} - - **Warning**: - - {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} - {%- endif %} - {%- ifversion ghec or ghes %} - - ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png) - {%- elsif ghae %} - - ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options-ae.png) - {%- endif %} -{% data reusables.actions.runner-group-assign-policy-workflow %} -1. Click **Save group** to create the group and apply the policy. +{% data reusables.actions.creating-a-runner-group-for-an-enterprise %} {% endif %} ## Changing the access policy of a self-hosted runner group -For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group{% ifversion restrict-groups-to-workflows %} or restrict what workflows a runner group can run{% endif %}. For runner groups in an organization, you can change what repositories in the organization can access a runner group{% ifversion restrict-groups-to-workflows %} or restrict what workflows a runner group can run{% endif %}. +{%- ifversion fpt or ghec or ghes %} -### Changing what organizations or repositories can access a runner group +{% data reusables.actions.self-hosted-runner-security-admonition %} -{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} -1. For runner groups in an enterprise, under **Organization access**, modify what organizations can access the runner group. For runner groups in an organization, under **Repository access**, modify what repositories can access the runner group. +{%- endif %} - {%- ifversion fpt or ghec or ghes %} - {% warning %} - - **Warning**: - - {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} - {%- endif %} -{% elsif ghae or ghes < 3.4 %} -{% data reusables.actions.self-hosted-runner-configure-runner-group-access %} -{% endif %} - -{% ifversion restrict-groups-to-workflows %} -### Changing what workflows can access a runner group -You can configure a self-hosted runner group to run either selected workflows or all workflows. For example, you might use this setting to protect secrets that are stored on self-hosted runners or to standardize deployment workflows by restricting a runner group to run only a specific reusable workflow. This setting cannot be overridden if you are configuring an organization's runner group that was shared by an enterprise. -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} -1. Under **Workflow access**, select the dropdown menu and click **Selected workflows**. -1. Click {% octicon "gear" aria-label="the gear icon" %}. -1. Enter a comma separated list of the workflows that can access the runner group. Use the full path, including the repository name and owner. Pin the workflow to a branch, tag, or full SHA. For example: `octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main`. - - Only jobs directly defined within the selected workflows will have access to the runner group. - - Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group. - -1. Click **Save**. - -{% endif %} +{% data reusables.actions.changing-the-access-policy-of-a-runner-group %} ## Changing the name of a runner group -{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} -1. Change the runner group name. - -{% elsif ghae or ghes < 3.4 %} -{% data reusables.actions.self-hosted-runner-configure-runner-group %} -1. Change the runner group name. -{% endif %} +{% data reusables.actions.changing-the-name-of-a-runner-group %} {% ifversion ghec or ghes or ghae %} ## Automatically adding a self-hosted runner to a group -You can use the configuration script to automatically add a new self-hosted runner to a group. For example, this command registers a new self-hosted runner and uses the `--runnergroup` parameter to add it to a group named `rg-runnergroup`. - -```sh -./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup -``` - -The command will fail if the runner group doesn't exist: - -``` -Could not find any self-hosted runner group named "rg-runnergroup". -``` +{% data reusables.actions.automatically-adding-a-runner-to-a-group %} ## Moving a self-hosted runner to a group -If you don't specify a runner group during the registration process, your new self-hosted runners are automatically assigned to the default group, and can then be moved to another group. - -{% data reusables.actions.self-hosted-runner-navigate-to-org-enterprise %} -{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} -1. In the "Runners" list, click the runner that you want to configure. -2. Select the **Runner group** drop-down. -3. In "Move runner to group", choose a destination group for the runner. -{% elsif ghae or ghes < 3.4 %} -1. In the {% ifversion ghes or ghae %}"Runner groups"{% endif %} section of the settings page, locate the current group of the runner you want to move and expand the list of group members. - ![View runner group members](/assets/images/help/settings/actions-org-runner-group-members.png) -2. Select the checkbox next to the self-hosted runner, and then click **Move to group** to see the available destinations. - ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move.png) -3. To move the runner, click on the destination group. - ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move-destination.png) -{% endif %} +{% data reusables.actions.moving-a-runner-to-a-group %} ## Removing a self-hosted runner group -Self-hosted runners are automatically returned to the default group when their group is removed. - -{% ifversion ghes or ghae or ghec %} -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -1. In the list of groups, to the right of the group you want to delete, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. -2. To remove the group, click **Remove group**. -3. Review the confirmation prompts, and click **Remove this runner group**. +{% data reusables.actions.removing-a-runner-group %} {% endif %} -{% endif %} diff --git a/content/actions/learn-github-actions/understanding-github-actions.md b/content/actions/learn-github-actions/understanding-github-actions.md index 3ac38d19c6..f6e9e9ca75 100644 --- a/content/actions/learn-github-actions/understanding-github-actions.md +++ b/content/actions/learn-github-actions/understanding-github-actions.md @@ -2,6 +2,7 @@ title: Understanding GitHub Actions shortTitle: Understanding GitHub Actions intro: 'Learn the basics of {% data variables.product.prodname_actions %}, including core concepts and essential terminology.' +miniTocMaxHeadingLevel: 3 redirect_from: - /github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions - /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions @@ -82,7 +83,7 @@ For more information, see "[Creating actions](/actions/creating-actions)." ### Runners -{% data reusables.actions.about-runners %} Each runner can run a single job at a time. {% ifversion ghes or ghae %} You must host your own runners for {% data variables.product.product_name %}. {% elsif fpt or ghec %}{% data variables.product.company_short %} provides Ubuntu Linux, Microsoft Windows, and macOS runners to run your workflows; each workflow run executes in a fresh, newly-provisioned virtual machine. If you need a different operating system or require a specific hardware configuration, you can host your own runners.{% endif %} For more information{% ifversion fpt or ghec %} about self-hosted runners{% endif %}, see "[Hosting your own runners](/actions/hosting-your-own-runners)." +{% data reusables.actions.about-runners %} Each runner can run a single job at a time. {% ifversion ghes or ghae %} You must host your own runners for {% data variables.product.product_name %}. {% elsif fpt or ghec %}{% data variables.product.company_short %} provides Ubuntu Linux, Microsoft Windows, and macOS runners to run your workflows; each workflow run executes in a fresh, newly-provisioned virtual machine. {% ifversion actions-hosted-runners %} {% data variables.product.prodname_dotcom %} also offers {% data variables.actions.hosted_runner %}s, which are available in larger configurations. For more information, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." {% endif %}If you need a different operating system or require a specific hardware configuration, you can host your own runners.{% endif %} For more information{% ifversion fpt or ghec %} about self-hosted runners{% endif %}, see "[Hosting your own runners](/actions/hosting-your-own-runners)." {% data reusables.actions.workflow-basic-example-and-explanation %} diff --git a/content/actions/publishing-packages/publishing-nodejs-packages.md b/content/actions/publishing-packages/publishing-nodejs-packages.md index 50746929a6..0768413dbc 100644 --- a/content/actions/publishing-packages/publishing-nodejs-packages.md +++ b/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -98,9 +98,9 @@ Each time you create a new release, you can trigger a workflow to publish your p ### Configuring the destination repository -If you don't provide the `repository` key in your *package.json* file, then {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the `name` field of the *package.json* file. For example, a package named `@my-org/test` is published to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. +Linking your package to {% data variables.product.prodname_registry %} using the `repository` key is optional. If you choose not to provide the `repository` key in your *package.json* file, then {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the `name` field of the *package.json* file. For example, a package named `@my-org/test` is published to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If the `url` specified in the `repository` key is invalid, your package may still be published however it won't be linked to the repository source as intended. -However, if you do provide the `repository` key, then the repository in that key is used as the destination npm registry for {% data variables.product.prodname_registry %}. For example, publishing the below *package.json* results in a package named `my-amazing-package` published to the `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} repository. +If you do provide the `repository` key in your *package.json* file, then the repository in that key is used as the destination npm registry for {% data variables.product.prodname_registry %}. For example, publishing the below *package.json* results in a package named `my-amazing-package` published to the `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} repository. Once published, only the repository source is updated, and the package doesn't inherit any permissions from the destination repository. ```json { diff --git a/content/actions/using-github-hosted-runners/about-github-hosted-runners.md b/content/actions/using-github-hosted-runners/about-github-hosted-runners.md index dcfa57bf9b..62fe7d964c 100644 --- a/content/actions/using-github-hosted-runners/about-github-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/about-github-hosted-runners.md @@ -86,6 +86,15 @@ While the job runs, the logs and output can be viewed in the {% data variables.p ## Supported runners and hardware resources +{% ifversion actions-hosted-runners %} + +{% note %} + +**Note**: {% data variables.product.prodname_dotcom %} also offers {% data variables.actions.hosted_runner %}s, which are available in larger configurations. For more information, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." + +{% endnote %} +{% endif %} + Hardware specification for Windows and Linux virtual machines: - 2-core CPU (x86_64) - 7 GB of RAM diff --git a/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md b/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md new file mode 100644 index 0000000000..6aac71b234 --- /dev/null +++ b/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md @@ -0,0 +1,50 @@ +--- +title: Controlling access to larger runners +intro: You can use policies to limit access to {% data variables.actions.hosted_runner %}s that have been added to an organization or enterprise. +product: '{% data reusables.gated-features.hosted-runners %}' +versions: + feature: 'actions-hosted-runners' +type: tutorial +shortTitle: Controlling access to {% data variables.actions.hosted_runner %}s +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About runner groups + +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/using-github-hosted-runners/controlling-access-to-larger-runners).{% endif %} + +{% ifversion ghec or ghes or ghae %} + +## Creating a runner group for an organization + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.creating-a-runner-group-for-an-organization %} + +## Creating a runner group for an enterprise + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.creating-a-runner-group-for-an-enterprise %} + +{% endif %} + +## Changing the access policy of a runner group + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.changing-the-access-policy-of-a-runner-group %} + +## Changing the name of a runner group + +{% data reusables.actions.changing-the-name-of-a-runner-group %} + +{% ifversion ghec or ghes or ghae %} +## Moving a runner to a group + +{% data reusables.actions.moving-a-runner-to-a-group %} + +## Removing a runner group + +{% data reusables.actions.removing-a-runner-group %} + +{% endif %} diff --git a/content/actions/using-github-hosted-runners/index.md b/content/actions/using-github-hosted-runners/index.md index 2c05480126..89da172b2b 100644 --- a/content/actions/using-github-hosted-runners/index.md +++ b/content/actions/using-github-hosted-runners/index.md @@ -7,6 +7,8 @@ versions: ghes: '*' children: - /about-github-hosted-runners + - /using-larger-runners + - /controlling-access-to-larger-runners - /monitoring-your-current-jobs - /customizing-github-hosted-runners - /connecting-to-a-private-network diff --git a/content/actions/using-github-hosted-runners/using-larger-runners.md b/content/actions/using-github-hosted-runners/using-larger-runners.md new file mode 100644 index 0000000000..22ea007919 --- /dev/null +++ b/content/actions/using-github-hosted-runners/using-larger-runners.md @@ -0,0 +1,135 @@ +--- +title: Using larger runners +intro: '{% data variables.product.prodname_dotcom %} offers larger runners with more RAM and CPU.' +miniTocMaxHeadingLevel: 3 +product: '{% data reusables.gated-features.hosted-runners %}' +versions: + feature: 'actions-hosted-runners' +shortTitle: Using {% data variables.actions.hosted_runner %}s +--- + +## Overview of {% data variables.actions.hosted_runner %}s + +In addition to the [standard {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources), {% data variables.product.prodname_dotcom %} also offers customers on {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans a range of {% data variables.actions.hosted_runner %}s with more RAM and CPU. These runners are hosted by {% data variables.product.prodname_dotcom %} and have the runner application and other tools preinstalled. + +When you add a {% data variables.actions.hosted_runner %} to an organization, you are defining a type of machine from a selection of available hardware specifications and operating system images. {% data variables.product.prodname_dotcom %} will then create multiple instances of this runner that scale up and down to match the job demands of your organization, based on the autoscaling limits you define. + +## Architectural overview of {% data variables.actions.hosted_runner %}s + +The {% data variables.actions.hosted_runner %}s are managed at the organization level, where they are arranged into groups that can contain multiple instances of the runner. They can also be created at the enterprise level and shared with organizations in the hierarchy. Once you've created a group, you can then add a runner to the group and update your workflows to target the label assigned to the {% data variables.actions.hosted_runner %}. You can also control which repositories are permitted to send jobs to the group for processing. For more information about groups, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +In the following diagram, a class of hosted runner named `ubuntu-20.04-16core` has been defined with customized hardware and operating system configuration. + +![Diagram explaining {% data variables.actions.hosted_runner %}](/assets/images/hosted-runner.png) + +1. Instances of this runner are automatically created and added to a group called `ubuntu-20.04-16core`. +2. The runners have been assigned the label `ubuntu-20.04-16core`. +3. Workflow jobs use the `ubuntu-20.04-16core` label in their `runs-on` key to indicate the type of runner they need to execute the job. +4. {% data variables.product.prodname_actions %} checks the runner group to see if your repository is authorized to send jobs to the runner. +5. The job runs on the next available instance of the `ubuntu-20.04-16core` runner. + +## Autoscaling {% data variables.actions.hosted_runner %}s + +Your {% data variables.actions.hosted_runner %}s can be configured to automatically scale to suit your needs. When jobs are submitted for processing, more machines can be automatically provisioned to run the jobs, until reaching a pre-defined maximum limit. Each machine only handles one job at a time, so these settings effectively determine the number of jobs that can be run concurrently. + +During the runner deployment process, you can configure the _Max_ option, which allows you to control your costs by setting the maximum parallel number of machines that are created in this set. A higher value here can help avoid workflows being blocked due to parallelism. + +## Networking for {% data variables.actions.hosted_runner %}s + +By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s. + +{% note %} + +**Note**: If runners are unused for more than 30 days, their IP address ranges are automatically removed and cannot be recovered. + +{% endnote %} + +## Planning for {% data variables.actions.hosted_runner %}s + +### Create a runner group + +Runner groups are used to collect sets of virtual machines and create a security boundary around them. You can then decide which organizations or repositories are permitted to run jobs on those sets of machines. During the {% data variables.actions.hosted_runner %} deployment process, the runner can be added to an existing group, or otherwise it will join a default group. You can create a group by following the steps in "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +### Understanding billing + +Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners, {% data variables.actions.hosted_runner %}s are billed differently. For more information, see "[Per-minute rates](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)". + +## Adding a {% data variables.actions.hosted_runner %} to an enterprise + +You can add {% data variables.actions.hosted_runner %}s to an enterprise, where they can be assigned to multiple organizations. The organization admins can then control which repositories can use the runners. To add a {% data variables.actions.hosted_runner %} to an enterprise, you must be an enterprise owner. + +{% data reusables.actions.add-hosted-runner-overview %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +{% data reusables.actions.add-hosted-runner %} +1. To allow organizations to access your {% data variables.actions.hosted_runner %}s, you specify the list of organizations that can use it. For more information, see "[Managing access to your runners](#managing-access-to-your-runners)." + +## Adding a {% data variables.actions.hosted_runner %} to an organization + +You can add a {% data variables.actions.hosted_runner %} to an organization, where the organization admins can control which repositories can use it. + +{% data reusables.actions.add-hosted-runner-overview %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +{% data reusables.actions.add-hosted-runner %} +1. To allow repositories to access your {% data variables.actions.hosted_runner %}s, add them to the list of repositories that can use it. For more information, see "[Managing access to your runners](#managing-access-to-your-runners)." + +## Running jobs on your runner + +Once your runner type has been been defined, you can update your workflows to send jobs to the runner instances for processing. In this example, a runner group is populated with Ubuntu 16-core runners, which have been assigned the label `ubuntu-20.04-16core`. If you have a runner matching this label, the `check-bats-version` job then uses the `runs-on` key to target that runner whenever the job is run: + +```yaml +name: learn-github-actions +on: [push] +jobs: + check-bats-version: + runs-on: ubuntu-20.04-16core + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses:{% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v +``` + +## Managing access to your runners + +{% note %} + +**Note**: Before your workflows can send jobs to {% data variables.actions.hosted_runner %}s, you must first configure permissions for the runner group. See the following sections for more information. + +{% endnote %} + +Runner groups are used to control which repositories can run jobs on your {% data variables.actions.hosted_runner %}s. You must grant access to the group from each level of the management hierarchy, depending on where you've defined the {% data variables.actions.hosted_runner %}: + +- **Runners at the enterprise level**: Configure the runner group to grant access to all the required organizations. In addition, for each organization, you must configure the group to specify which repositories are allowed access. +- **Runners at the organization level**: Configure the runner group by specifying which repositories are allowed access. + +For example, the following diagram has a runner group named `grp-ubuntu-20.04-16core` at the enterprise level. Before the repository named `octo-repo` can use the runners in the group, you must first configure the group at the enterprise level to allow access from the `octo-org` organization; you must then configure the group at the organization level to allow access from `octo-repo`: + +![Diagram explaining {% data variables.actions.hosted_runner %} groups](/assets/images/hosted-runner-mgmt.png) + +### Allowing repositories to access a runner group + +This procedure demonstrates how to configure group permissions at the enterprise and organization levels: + +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} + - For runner groups in an enterprise: under **Organization access**, modify which organizations can access the runner group. + - For runner groups in an organization: under **Repository access**, modify which repositories can access the runner group. + +{% warning %} + +**Warning**: + +{% data reusables.actions.hosted-runner-security %} + +For more information, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +{% endwarning %} diff --git a/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md index f636895b40..2de67fe8e5 100644 --- a/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md +++ b/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -51,7 +51,7 @@ For more information on workflow run artifacts, see "[Persisting workflow data u A workflow can access and restore a cache created in the current branch, the base branch (including base branches of forked repositories), or the default branch (usually `main`). For example, a cache created on the default branch would be accessible from any pull request. Also, if the branch `feature-b` has the base branch `feature-a`, a workflow triggered on `feature-b` would have access to caches created in the default branch (`main`), `feature-a`, and `feature-b`. -Access restrictions provide cache isolation and security by creating a logical boundary between different branches. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-c` (with the base `main`). +Access restrictions provide cache isolation and security by creating a logical boundary between different branches or tags. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-c` (with the base `main`). On similar lines, a cache created for the tag `release-a` (from the base `main`) would not be accessible to a workflow triggered for the tag `release-b` (with the base `main`). Multiple workflows within a repository share cache entries. A cache created for a branch within a workflow can be accessed and restored from another workflow for the same repository and branch. diff --git a/content/actions/using-workflows/reusing-workflows.md b/content/actions/using-workflows/reusing-workflows.md index bbdf28e7fe..676a5f6f41 100644 --- a/content/actions/using-workflows/reusing-workflows.md +++ b/content/actions/using-workflows/reusing-workflows.md @@ -23,7 +23,7 @@ topics: Rather than copying and pasting from one workflow to another, you can make workflows reusable. You and anyone with access to the reusable workflow can then call the reusable workflow from another workflow. -Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been proved to be effective. Your organization can build up a library of reusable workflows that can be centrally maintained. +Reusing workflows avoids duplication. This makes workflows easier to maintain and allows you to create new workflows more quickly by building on the work of others, just as you do with actions. Workflow reuse also promotes best practice by helping you to use workflows that are well designed, have already been tested, and have been 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. @@ -127,7 +127,7 @@ You can define inputs and secrets, which can be passed from the caller workflow runs-on: ubuntu-latest environment: production steps: - - uses: ./.github/workflows/my-action + - uses: octo-org/my-action@v1 with: username: ${{ inputs.username }} token: ${{ secrets.envPAT }} @@ -168,12 +168,13 @@ jobs: name: Pass input and secrets to my-action runs-on: ubuntu-latest steps: - - uses: ./.github/workflows/my-action + - uses: octo-org/my-action@v1 with: username: ${{ inputs.username }} token: ${{ secrets.token }} ``` {% endraw %} + {% ifversion actions-reusable-workflow-matrix %} ## Using a matrix strategy with a reusable workflow diff --git a/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md b/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md index e9760a9de7..e400844d43 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md +++ b/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md @@ -16,7 +16,9 @@ topics: --- If you configure a hostname instead of a hard-coded IP address, you will be able to change the physical hardware that {% data variables.product.product_location %} runs on without affecting users or client software. -The hostname setting in the {% data variables.enterprise.management_console %} should be set to an appropriate fully qualified domain name (FQDN) which is resolvable on the internet or within your internal network. For example, your hostname setting could be `github.companyname.com.` Web and API requests will automatically redirect to the hostname configured in the {% data variables.enterprise.management_console %}. Note that `localhost` is not a valid hostname setting. +The hostname setting in the {% data variables.enterprise.management_console %} should be set to an appropriate fully qualified domain name (FQDN) which is resolvable on the internet or within your internal network. For example, your hostname setting could be `github.companyname.com.` Web and API requests will automatically redirect to the hostname configured in the {% data variables.enterprise.management_console %}. Note that `localhost` is not a valid hostname setting. + +Hostnames must be less than 63 characters in length per [Section 2.3.4 of the Domain Names Specification RFC](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4). After you configure a hostname, you can enable subdomain isolation to further increase the security of {% data variables.product.product_location %}. For more information, see "[Enabling subdomain isolation](/enterprise/admin/guides/installation/enabling-subdomain-isolation/)." diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md b/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md index e83bab2bcd..dda4d46612 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md @@ -90,6 +90,14 @@ settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-all You can enforce TLS encryption for all incoming SMTP connections, which can help satisfy an ISO-27017 certification requirement. +{%- ifversion ghes = 3.6 %} +{% note %} + +**Note**: Enforcement of TLS for SMTP connections is unavailable in {% data variables.product.product_name %} 3.6.0. The feature will be available in an upcoming release. + +{% endnote %} +{%- endif %} + {% data reusables.enterprise_site_admin_settings.email-settings %} 1. Under "Authentication," select **Enforce TLS auth (recommended)**. diff --git a/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md b/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md index e074b64fd8..5bd322dcae 100644 --- a/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md +++ b/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md @@ -131,46 +131,49 @@ Key | Description {% ifversion ghes %} ## Indexing -GitHub's [code search][] features are powered by [ElasticSearch][]. This section of the site admin dashboard shows you the current status of your ElasticSearch cluster and provides you with several tools to control the behavior of searching and indexing. These tools are split into the following three categories. +GitHub's search features are powered by Elasticsearch. This section of the site admin dashboard shows you the current status of your Elasticsearch cluster and provides you with several tools to control search and index behavior. - [Code Search]: https://github.com/blog/1381-a-whole-new-code-search - [ElasticSearch]: http://www.elasticsearch.org/ +For more information about code search, see "[Searching for information on {% data variables.product.prodname_dotcom %}](/search-github)." For more information about Elasticsearch, see the [Elasticsearch website](https://elastic.co). + +{% note %} + +**Note**: In normal use, site administrators do not need to create new indices or schedule repair jobs. For troubleshooting or other support purposes, {% data variables.contact.github_support %} may instruct you to run a repair job. + +{% endnote %} + +### Index management + +{% data variables.product.product_name %} reconciles the state of the search index with data on the instance automatically and regularly. + +- Issues, pull requests, repositories, and users in the database +- Git repositories (source code) on disk + +Your instance uses repair jobs to reconcile the data, and schedules a repair job in the background when the following events occur. + +- A new search index is created. +- Missing data needs to be backfilled. +- Old search data needs to be updated. + +You can create a new index, or you can click on an existing index in the list to manage the index. You can perform the following operations on an index. + +- Make the index searchable. +- Make the index writable. +- Update the index. +- Delete the index +- Reset the index repair state. +- Start a new index repair job. +- Enable or disable index repair jobs. + +A progress bar shows the current status of a repair job across background workers. The bar is the percentage difference of the repair offset with the highest record ID in the database. You can ignore the value shown in the progress bar after a repair job has completed. The progress bar shows the difference between the repair offset and the highest record ID in the database, and will decrease as more repositories are added to {% data variables.product.product_location %} even though those repositories are actually indexed. + +To minimize the effects on I/O performance and reduce the chances of operations timing out, run the repair job during off-peak hours. As the job reconciles the search index with database and Git repository data, one CPU will be used. Monitor your system's load averages and CPU usage with a utility like `top`. If you don't notice any significant increase in resource consumption, it should also be safe to run an index repair job during peak hours. + +Repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. ### Code search This allows you to enable or disable both search and index operations on source code. -### Code search index repair - -This controls how the code search index is repaired. You can - -- enable or disable index repair jobs -- start a new index repair job -- reset all index repair state - -{% data variables.product.prodname_enterprise %} uses repair jobs to reconcile the state of the search index with data stored in a database (issues, pull requests, repositories, and users) and data stored in Git repositories (source code). This happens when - -- a new search index is created; -- missing data needs to be backfilled; or -- old search data needs to be updated. - -In other words, repair jobs are started as needed and run in the background—they are not scheduled by site admins in any way. - -Furthermore, repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. - -A progress bar shows the current status of a repair job across all of its background workers. It is the percentage difference of the repair offset with the highest record ID in the database. Don't worry about the value shown in the progress bar after a repair job has completed: because it shows the difference between the repair offset and the highest record ID in the database, it will decrease as more repositories are added to {% data variables.product.product_location %} even though those repositories are actually indexed. - -You can start a new code-search index repair job at any time. It will use a single CPU as it reconciles the search index with database and Git repository data. To minimize the effects this will have on I/O performance and reduce the chances of operations timing out, try to run a repair job during off-peak hours first. Monitor your system's load averages and CPU usage with a utility like `top`; if you don't notice any significant changes, it should be safe to run an index repair job during peak hours, as well. - -### Issues index repair - -This controls how the [Issues][] index is repaired. You can - - [Issues]: https://github.com/blog/831-issues-2-0-the-next-generation - -- enable or disable index repair jobs -- start a new index repair job -- reset all index repair state {% endif %} ## Reserved logins diff --git a/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md b/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md index dbc7885a81..eaf7abed76 100644 --- a/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md +++ b/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md @@ -83,7 +83,7 @@ You can create a runner group to manage access to the runner that you added to y {% data variables.product.product_name %} adds all new runners to a group. Runners can be in one group at a time. By default, {% data variables.product.product_name %} adds new runners to the "Default" group. -{% data reusables.actions.self-hosted-runner-groups-add-to-enterprise-first-steps %} +{% data reusables.actions.runner-groups-add-to-enterprise-first-steps %} 1. To choose a policy for organization access, under "Organization access", select the **Organization access** drop-down, and click **Selected organizations**. 1. To the right of the drop-down with the organization access policy, click {% octicon "gear" aria-label="The Gear icon" %}. 1. Select the organizations you'd like to grant access to the runner group. @@ -100,7 +100,7 @@ You can create a runner group to manage access to the runner that you added to y {% endwarning %} {%- endif %} -{% data reusables.actions.self-hosted-runner-create-group %} +{% data reusables.actions.create-runner-group %} {%- ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} 1. Click the "Runners" tab. 1. In the list of runners, click the runner that you deployed in the previous section. diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md index daea61b47a..b34b1c60c3 100644 --- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md +++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -44,7 +44,8 @@ You set up the audit log stream on {% data variables.product.product_name %} by - [Amazon S3](#setting-up-streaming-to-amazon-s3) - [Azure Blob Storage](#setting-up-streaming-to-azure-blob-storage) -- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs) +- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs){% ifversion streaming-datadog %} +- [Datadog](#setting-up-streaming-to-datadog){% endif %} - [Google Cloud Storage](#setting-up-streaming-to-google-cloud-storage) - [Splunk](#setting-up-streaming-to-splunk) @@ -60,7 +61,7 @@ You can set up streaming to S3 with access keys or, to avoid storing long-lived #### Setting up streaming to S3 with access keys {% endif %} -To stream audit logs to Amazon's S3 endpoint, you must have a bucket and access keys. For more information, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the the AWS documentation. Make sure to block public access to the bucket to protect your audit log information. +To stream audit logs to Amazon's S3 endpoint, you must have a bucket and access keys. For more information, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the AWS documentation. Make sure to block public access to the bucket to protect your audit log information. To set up audit log streaming from {% data variables.product.prodname_dotcom %} you will need: * The name of your Amazon S3 bucket @@ -231,6 +232,32 @@ You need two pieces of information about your event hub: its instance name and t {% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +{% ifversion streaming-datadog %} +### Setting up streaming to Datadog + +To set up streaming to Datadog, you must create a client token or an API key in Datadog, then configure audit log streaming in {% data variables.product.product_name %} using the token for authentication. You do not need to create a bucket or other storage container in Datadog. + +After you set up streaming to Datadog, you can see your audit log data by filtering by "github.audit.streaming." For more information, see [Log Management](https://docs.datadoghq.com/logs/). + +1. If you don't already have a Datadog account, create one. +1. In Datadog, generate a client token or an API key, then click **Copy key**. For more information, see [API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) in Datadog Docs. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the **Configure stream** dropdown menu and click **Datadog**. + + ![Screenshot of the "Configure stream" dropdown menu with "Datadog" highlighted](/assets/images/help/enterprises/audit-stream-choice-datadog.png) +1. Under "Token", paste the token you copied earlier. + + ![Screenshot of the "Token" field](/assets/images/help/enterprises/audit-stream-datadog-token.png) +1. Select the "Site" dropdown menu and click your Datadog site. To determine your Datadog site, compare your Datadog URL to the table in [Datadog sites](https://docs.datadoghq.com/getting_started/site/) in Datadog Docs. + + ![Screenshot of the "Site" dropdown menu](/assets/images/help/enterprises/audit-stream-datadog-site.png) +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Datadog endpoint, click **Check endpoint**. + + ![Check the endpoint](/assets/images/help/enterprises/audit-stream-check.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +1. After a few minutes, confirm that audit log data is appearing on the **Logs** tab in Datadog. If audit log data is not appearing, confirm that your token and site are correct in {% data variables.product.prodname_dotcom %}. +{% endif %} + ### Setting up streaming to Google Cloud Storage To set up streaming to Google Cloud Storage, you must create a service account in Google Cloud with the appropriate credentials and permissions, then configure audit log streaming in {% data variables.product.product_name %} using the service account's credentials for authentication. @@ -292,6 +319,10 @@ To stream audit logs to Splunk's HTTP Event Collector (HEC) endpoint you must ma Pausing the stream allows you to perform maintenance on the receiving application without losing audit data. Audit logs are stored for up to seven days on {% data variables.product.product_location %} and are then exported when you unpause the stream. +{% ifversion streaming-datadog %} +Datadog only accepts logs from up to 18 hours in the past. If you pause a stream to a Datadog endpoint for more than 18 hours, you risk losing logs that Datadog won't accept after you resume streaming. +{% endif %} + {% data reusables.enterprise.navigate-to-log-streaming-tab %} 1. Click **Pause stream**. diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md index 839a06c309..c16e6c9f88 100644 --- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md +++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md @@ -121,7 +121,7 @@ For more information about the audit log REST API, see "[Enterprise administrati The query below searches for audit log events created on Jan 1st, 2022 in the `avocado-corp` enterprise, and return the first page with a maximum of 100 items per page using [REST API pagination](/rest/overview/resources-in-the-rest-api#pagination): ```shell -curl -H "Authorization: token TOKEN" \ +curl -H "Authorization: Bearer TOKEN" \ --request GET \ "https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:2022-01-01&page=1&per_page=100" ``` @@ -133,7 +133,7 @@ You can specify multiple search phrases, such as `created` and `actor`, by separ The query below searches for audit log events for pull requests, where the event occurred on or after Jan 1st, 2022 in the `avocado-corp` enterprise, and the action was performed by the `octocat` user: ```shell -curl -H "Authorization: token TOKEN" \ +curl -H "Authorization: Bearer TOKEN" \ --request GET \ "https://api.github.com/enterprises/avocado-corp/audit-log?phrase=action:pull_request+created:>=2022-01-01+actor:octocat" ``` diff --git a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index 69f3a55303..75b2044c67 100644 --- a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -81,6 +81,8 @@ You can also configure allowed IP addresses for an individual organization. For {% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md index 77c7fffea0..d3757186db 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md @@ -44,7 +44,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * A [list of the repositories](/free-pro-team@latest/rest/repos#list-organization-repositories) you want to migrate: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -X POST \ -H "Accept: application/vnd.github+json" \ -d'{"lock_repositories":true,"repositories":["orgname/reponame", "orgname/reponame"]}' \ @@ -59,7 +59,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * The unique `id` of the migration: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ https://api.github.com/orgs/orgname/migrations/id ``` @@ -74,7 +74,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * The unique `id` of the migration: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ -L -o migration_archive.tar.gz \ https://api.github.com/orgs/orgname/migrations/id/archive @@ -84,7 +84,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * The unique `id` of the migration: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -X DELETE \ -H "Accept: application/vnd.github+json" \ https://api.github.com/orgs/orgname/migrations/id/archive diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md index 0e8aa46005..c614ef94ce 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md @@ -133,7 +133,7 @@ To unlock the repositories on a {% data variables.product.prodname_dotcom_the_we * The unique `id` of the migration * The name of the repository to unlock ```shell -curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ +curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \ -H "Accept: application/vnd.github.wyandotte-preview+json" \ https://api.github.com/orgs/orgname/migrations/id/repos/repo_name/lock ``` @@ -142,7 +142,7 @@ curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ After unlocking the {% data variables.product.prodname_dotcom_the_website %} organization's repositories, you should delete every repository you previously migrated using [the repository delete endpoint](/rest/repos/#delete-a-repository). You'll need your access token for authentication: ```shell -curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ +curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \ https://api.github.com/repos/orgname/repo_name ``` diff --git a/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md b/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md index e1c8492c46..b7ece38d4e 100644 --- a/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -28,11 +28,11 @@ topics: {% data reusables.command_line.open_the_multi_os_terminal %} 3. Generate a GPG key pair. Since there are multiple versions of GPG, you may need to consult the relevant [_man page_](https://en.wikipedia.org/wiki/Man_page) to find the appropriate key generation command. Your key must use RSA. - If you are on version 2.1.17 or greater, paste the text below to generate a GPG key pair. - ```shell + ```shell{:copy} $ gpg --full-generate-key ``` - If you are not on version 2.1.17 or greater, the `gpg --full-generate-key` command doesn't work. Paste the text below and skip to step 6. - ```shell + ```shell{:copy} $ gpg --default-new-key-algo rsa4096 --gen-key ``` 4. At the prompt, specify the kind of key you want, or press `Enter` to accept the default. @@ -51,10 +51,10 @@ topics: {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} 10. Paste the text below, substituting in the GPG key ID you'd like to use. In this example, the GPG key ID is `3AA5C34371567BD2`: - ```shell - $ gpg --armor --export 3AA5C34371567BD2 - # Prints the GPG key ID, in ASCII armor format - ``` + ```shell{:copy} + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` 11. Copy your GPG key, beginning with `-----BEGIN PGP PUBLIC KEY BLOCK-----` and ending with `-----END PGP PUBLIC KEY BLOCK-----`. 12. [Add the GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account). diff --git a/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md b/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md index 5d22caf825..ffc87c9154 100644 --- a/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md +++ b/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md @@ -1,6 +1,7 @@ --- title: About billing for GitHub Actions intro: 'If you want to use {% data variables.product.prodname_actions %} beyond the storage or minutes included in your account, you will be billed for additional usage.' +miniTocMaxHeadingLevel: 3 redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions @@ -27,6 +28,14 @@ Minutes reset every month, while storage usage does not. ### Included storage and minutes +{% ifversion actions-hosted-runners %} +{% note %} + +**Note**: Entitlement minutes cannot be used for Windows and Ubuntu runners over 2-cores. These runners will always be charged for, including in public repos. For more information, see "[Per-minute rates for runners](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)." + +{% endnote %} +{% endif %} + |Product | Storage | Minutes (per month)| |------- | ------- | ---------| | {% data variables.product.prodname_free_user %} | 500 MB | 2,000 | @@ -57,15 +66,15 @@ The storage used by a repository is the total storage used by {% data variables. ### Per-minute rates -| Operating system | Per-minute rate (USD) | -|------- | ---------| -| Linux | $0.008 | -| macOS | $0.08 | -| Windows | $0.016 | +{% data reusables.billing.billing-standard-runners %} +{% ifversion actions-hosted-runners %}{% data reusables.billing.billing-hosted-runners %}{% endif %} -The number of jobs you can run concurrently across all repositories in your user or organization account depends on your GitHub plan. For more information, see "[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" for self-hosted runner usage limits. - -{% data reusables.user-settings.context_switcher %} +- The number of jobs you can run concurrently across all repositories in your user or organization account depends on your GitHub plan. For more information, see "[Usage limits and billing](/actions/reference/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" for self-hosted runner usage limits. +- {% data reusables.user-settings.context_switcher %} +{% ifversion actions-hosted-runners %} +- For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." +- Entitlement minutes cannot be used for {% data variables.actions.hosted_runner %}s. +{% endif %} ## Calculating minute and storage spending diff --git a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md index 89a7a591d4..693aff8c64 100644 --- a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md +++ b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md @@ -359,7 +359,7 @@ In the following example, the `+` symbol ensures that the specified additional { ## Using a custom configuration file -A custom configuration file is an alternative way to specify additional {% ifversion codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries and to specify which directories to scan during analysis. +A custom configuration file is an alternative way to specify additional {% ifversion codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries{% ifversion code-scanning-exclude-queries-from-analysis %}, exclude or include specific queries,{% endif %} and to specify which directories to scan during analysis. In the workflow file, use the `config-file` parameter of the `init` action to specify the path to the configuration file you want to use. This example loads the configuration file _./.github/codeql/codeql-config.yml_. @@ -442,6 +442,41 @@ Optionally, you can give each array element a name, as shown in the example conf If you only want to run custom queries, you can disable the default security queries by using `disable-default-queries: true`. +{% ifversion code-scanning-exclude-queries-from-analysis %} +### Excluding specific queries from analysis + +You can add `exclude` and `include` filters to your custom configuration file, to specify the queries you want to exclude or include in the analysis. + +This is useful if you want to exclude, for example: +- Specific queries from the default suites (`security`, `security-extended` and `security-and-quality`). +- Specific queries whose results do not interest you. +- All the queries that generate warnings and recommendations. + +You can use `exclude` filters similar to those in the configuration file below to exclude queries that you want to remove from the default analysis. In the example of configuration file below, both the `js/redundant-assignment` and the `js/useless-assignment-to-local` queries are excluded from analysis. + +```yaml +query-filters: + - exclude: + id: js/redundant-assignment + - exclude: + id: js/useless-assignment-to-local +``` +To find the id of a query, you can click the alert in the list of alerts in the Security tab. This opens the alert details page. The `Rule ID` field contains the query id. For more information about the alert details page, see "[About {% data variables.product.prodname_code_scanning %} alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)." + +{% tip %} + +**Tips:** +- The order of the filters is important. The first filter instruction that appears after the instructions about the queries and query packs determines whether the queries are included or excluded by default. +- Subsequent instructions are executed in order and the instructions that appear later in the file take precedence over the earlier instructions. + +{% endtip %} + +You can find another example illustrating the use of these filters in the "[Example configuration files](#example-configuration-files)" section. + +For more information about using `exclude` and `include` filters in your custom configuration file, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/#filtering-the-queries-in-a-query-suite)." For information on the query metadata you can filter on, see "[Metadata for CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/)." + +{% endif %} + ### Specifying directories to scan For the interpreted languages that {% data variables.product.prodname_codeql %} supports (Python{% ifversion fpt or ghes > 3.3 or ghae-issue-5017 %}, Ruby{% endif %} and JavaScript/TypeScript), you can restrict {% data variables.product.prodname_code_scanning %} to files in specific directories by adding a `paths` array to the configuration file. You can exclude the files in specific directories from analysis by adding a `paths-ignore` array. diff --git a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index a5948aba46..23e20a25a3 100644 --- a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -43,8 +43,8 @@ By default, the code scanning alerts page is filtered to show alerts for the def ![Summary of alerts](/assets/images/help/repository/code-scanning-click-alert.png) {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} - {% data reusables.code-scanning.alert-default-branch %} - ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} + {% data reusables.code-scanning.alert-default-branch %} + ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} 1. Optionally, if the alert highlights a problem with data flow, click **Show paths** to display the path from the data source to the sink where it's used. {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} ![The "Show paths" link on an alert](/assets/images/help/repository/code-scanning-show-paths.png) diff --git a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 52e0b98fd3..32cea9db26 100644 --- a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -151,25 +151,29 @@ The names of the {% data variables.product.prodname_code_scanning %} analysis ch ![{% data variables.product.prodname_code_scanning %} pull request checks](/assets/images/help/repository/code-scanning-pr-checks.png) -When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion fpt or ghes > 3.2 or ghae or ghec %}an "Analysis not found"{% else %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. +When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} - ![Analysis not found for commit message](/assets/images/help/repository/code-scanning-analysis-not-found.png) +{% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-7095 %} + +{% elsif ghes < 3.5 or ghae %} +If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion ghes > 3.2 or ghae %}an "Analysis not found"{% elsif ghes = 3.2 %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. + +{% ifversion ghes > 3.2 or ghae %} + ![Analysis not found for commit message](/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png) The table lists one or more categories. Each category relates to specific analyses, for the same tool and commit, performed on a different language or a different part of the code. For each category, the table shows the two analyses that {% data variables.product.prodname_code_scanning %} attempted to compare to determine which alerts were introduced or fixed in the pull request. For example, in the screenshot above, {% data variables.product.prodname_code_scanning %} found an analysis for the merge commit of the pull request, but no analysis for the head of the main branch. -{% else %} - ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) -{% endif %} -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} ### Reasons for the "Analysis not found" message -{% else %} + +{% elsif ghes = 3.2 %} + ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) + ### Reasons for the "Missing analysis" message {% endif %} -After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion fpt or ghes > 3.2 or ghae or ghec %}"Analysis not found"{% else %}"Missing analysis for base commit SHA-HASH"{% endif %} message. +After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion ghes > 3.2 or ghae %}"Analysis not found"{% elsif ghes = 3.2 %}"Missing analysis for base commit SHA-HASH"{% endif %} message. There are other situations where there may be no analysis for the latest commit to the base branch for a pull request. These include: @@ -177,7 +181,7 @@ There are other situations where there may be no analysis for the latest commit To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch. -![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) + ![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) The solution in this situation is to add the name of the base branch to the `on:push` and `on:pull_request` specification in the {% data variables.product.prodname_code_scanning %} workflow on that branch and then make a change that updates the open pull request that you want to scan. @@ -189,6 +193,8 @@ There are other situations where there may be no analysis for the latest commit Merge a trivial change into the base branch to trigger {% data variables.product.prodname_code_scanning %} on this latest commit, then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}. +{% endif %} + ## Next steps After setting up {% data variables.product.prodname_code_scanning %}, and allowing its actions to complete, you can: diff --git a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md index c983e246ac..5cad113a82 100644 --- a/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md @@ -33,8 +33,6 @@ In repositories where {% data variables.product.prodname_code_scanning %} is con - The **Conversation** tab of the pull request, as part of a pull request review {% endif %} - The **Files changed** tab of the pull request -{% ifversion code-scanning-pr-conversations-tab %} {% endif %} - If you have write permission for the repository, you can see any existing {% data variables.product.prodname_code_scanning %} alerts on the **Security** tab. For information about repository alerts, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." {% ifversion fpt or ghes > 3.2 or ghae or ghec %} diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index daeb17e483..74df7049d2 100644 --- a/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -45,9 +45,15 @@ If you upload a second SARIF file for a commit with the same category and from t If you're new to SARIF and want to learn more, see Microsoft's [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) repository. -## Preventing duplicate alerts using fingerprints +## Providing data to track {% data variables.product.prodname_code_scanning %} alerts across runs -Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the right line of code when files are edited. +Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the correct line of code when files are edited. The `ruleID` for a result has to be the same across analysis. + +### Reporting consistent filepaths + +The filepath has to be consistent across the runs to enable a computation of a stable fingerprint. If the filepaths differ for the same result, each time there is a new analysis a new alert will be created, and the old one will be closed. This will cause having multiple alerts for the same result. + +### Including data for fingerprint generation {% data variables.product.prodname_dotcom %} uses the `partialFingerprints` property in the OASIS standard to detect when two results are logically identical. For more information, see the "[partialFingerprints property](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611)" entry in the OASIS documentation. @@ -77,6 +83,12 @@ You can check a SARIF file is compatible with {% data variables.product.prodname If you use a code analysis engine other than {% data variables.product.prodname_codeql %}, you can review the supported SARIF properties to optimize how your analysis results will appear on {% data variables.product.prodname_dotcom %}. +{% note %} + +**Note:** You must supply an explicit value for any property marked as "required". The empty string is not supported for required properties. + +{% endnote %} + Any valid SARIF 2.1.0 output file can be uploaded, however, {% data variables.product.prodname_code_scanning %} will only use the following supported properties. ### `sarifLog` object @@ -138,7 +150,7 @@ Each `result` object contains details for one alert in the codebase. Within the | `level`| **Optional.** The severity of the result. This level overrides the default severity defined by the rule. {% data variables.product.prodname_code_scanning_capc %} uses the level to filter results by severity on {% data variables.product.prodname_dotcom %}. | `message.text`| **Required.** A message that describes the result. {% data variables.product.prodname_code_scanning_capc %} displays the message text as the title of the result. Only the first sentence of the message will be displayed when visible space is limited. | `locations[]`| **Required.** The set of locations where the result was detected up to a maximum of 10. Only one location should be included unless the problem can only be corrected by making a change at every specified location. **Note:** At least one location is required for {% data variables.product.prodname_code_scanning %} to display a result. {% data variables.product.prodname_code_scanning_capc %} will use this property to decide which file to annotate with the result. Only the first value of this array is used. All other values are ignored. -| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Preventing duplicate alerts using fingerprints](#preventing-duplicate-alerts-using-fingerprints)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. +| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Providing data to track code scanning alerts across runs](#providing-data-to-track-code-scanning-alerts-across-runs)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. | `codeFlows[].threadFlows[].locations[]`| **Optional.** An array of `location` objects for a `threadFlow` object, which describes the progress of a program through a thread of execution. A `codeFlow` object describes a pattern of code execution used to detect a result. If code flows are provided, {% data variables.product.prodname_code_scanning %} will expand code flows on {% data variables.product.prodname_dotcom %} for the relevant result. For more information, see the [`location` object](#location-object). | `relatedLocations[]`| A set of locations relevant to this result. {% data variables.product.prodname_code_scanning_capc %} will link to related locations when they are embedded in the result message. For more information, see the [`location` object](#location-object). @@ -204,7 +216,7 @@ These example SARIF output files show supported properties and example values. ### Example with minimum required properties -This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties or don't include values, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. +This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties, omit values, or use an empty string, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. ```json { diff --git a/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 1e03a239f3..193ee54f5a 100644 --- a/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -58,7 +58,7 @@ For more information see the [`upload-sarif` action](https://github.com/github/c The `upload-sarif` action can be configured to run when the `push` and `scheduled` event occur. For more information about {% data variables.product.prodname_actions %} events, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." -If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#preventing-duplicate-alerts-using-fingerprints)." +If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs)." {% data reusables.code-scanning.upload-sarif-alert-limit %} diff --git a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md index 54ca86d3af..a9c8d47e23 100644 --- a/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md +++ b/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md @@ -78,7 +78,8 @@ You can display the command-line help for any command using the `--help``--command` | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from `--source-root`. Not needed for Python and JavaScript/TypeScript analysis. | | `--db-cluster` | | Optional. Use in multi-language codebases to generate one database for each language specified by `--language`. | `--no-run-unnecessary-builds` | | Recommended. Use to suppress the build command for languages where the {% data variables.product.prodname_codeql_cli %} does not need to monitor the build (for example, Python and JavaScript/TypeScript). -| `--source-root` | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. | +| `--source-root` | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. |{% ifversion fpt or ghec or ghes > 3.2 or ghae %} +| `--codescanning-config` | | Optional (Advanced). Use if you have a configuration file that specifies how to create the {% data variables.product.prodname_codeql %} databases and what queries to run in later steps. For more information, see "[Using a custom configuration file](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-a-custom-configuration-file)" and "[database create](https://codeql.github.com/docs/codeql-cli/manual/database-create/#cmdoption-codeql-database-create-codescanning-config)." |{% endif %} For more information, see [Creating {% data variables.product.prodname_codeql %} databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. diff --git a/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md b/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md index 141e720d52..60bf852121 100644 --- a/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md +++ b/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md @@ -417,7 +417,7 @@ updates: ### `open-pull-requests-limit` -By default, {% data variables.product.prodname_dependabot %} opens a maximum of five pull requests for version updates. Once there are five open pull requests, new requests are blocked until you merge or close some of the open requests, after which new pull requests can be opened on subsequent updates. Use `open-pull-requests-limit` to change this limit. This also provides a simple way to temporarily disable version updates for a package manager. +By default, {% data variables.product.prodname_dependabot %} opens a maximum of five pull requests for version updates. Once there are five open pull requests from {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_dependabot %} will not open any new requests until some of those open requests are merged or closed. Use `open-pull-requests-limit` to change this limit. This also provides a simple way to temporarily disable version updates for a package manager. This option has no impact on security updates, which have a separate, internal limit of ten open pull requests. diff --git a/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md index 7e5c96aa99..24fca3adc8 100644 --- a/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md +++ b/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -12,25 +12,25 @@ shortTitle: Private image registry ## About private image registries and {% data variables.product.prodname_github_codespaces %} -A registry is a secure space for storing, managing, and fetching private container images. You may use one to store one or more images. There are many examples of registries, such as {% data variables.product.prodname_dotcom %} Container Registry, Azure Container Registry, or DockerHub. +A registry is a secure space for storing, managing, and fetching private container images. You may use one to store one or more images. There are many examples of registries, such as {% data variables.product.prodname_container_registry %}, {% data variables.product.prodname_npm_registry %}, Azure Container Registry, or DockerHub. -{% data variables.product.prodname_dotcom %} Container Registry can be configured to pull container images seamlessly, without having to provide any authentication credentials to {% data variables.product.prodname_github_codespaces %}. For other image registries, you must create secrets in {% data variables.product.prodname_dotcom %} to store the access details, which will allow {% data variables.product.prodname_codespaces %} to access images stored in that registry. +{% data variables.product.prodname_ghcr_and_npm_registry %} can be configured to allow container images to be pulled seamlessly into {% data variables.product.prodname_github_codespaces %} during codespace creation, without having to provide any authentication credentials. For other image registries, you must create secrets in {% data variables.product.prodname_dotcom %} to store the access details, which will allow {% data variables.product.prodname_codespaces %} to access images stored in that registry. -## Accessing images stored in {% data variables.product.prodname_dotcom %} Container Registry +## Accessing images stored in {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data variables.product.prodname_dotcom %} Container Registry is the easiest way for {% data variables.product.prodname_codespaces %} to consume devcontainer container images. +{% data variables.product.prodname_ghcr_and_npm_registry %} provide the easiest way for {% data variables.product.prodname_codespaces %} to consume dev container images. -For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)". +For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)" and "[Working with the npm registry](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)". ### Accessing an image published to the same repository as the codespace -If you publish a container image to {% data variables.product.prodname_dotcom %} Container Registry in the same repository that the codespace is being launched in, you will automatically be able to fetch that image on codespace creation. You won't have to provide any additional credentials, unless the **Inherit access from repo** option was unselected when the container image was published. +If you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %} in the same repository that the codespace is being launched in, you will automatically be able to fetch that image on codespace creation. You won't have to provide any additional credentials, unless the **Inherit access from repo** option was unselected when the container image was published. #### Inheriting access from the repository from which an image was published -By default, when you publish a container image to {% data variables.product.prodname_dotcom %} Container Registry, the image inherits the access setting of the repository from which the image was published. For example, if the repository is public, the image is also public. If the repository is private, the image is also private, but is accessible from the repository. +By default, when you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %}, the image inherits the access setting of the repository from which the image was published. For example, if the repository is public, the image is also public. If the repository is private, the image is also private, but is accessible from the repository. -This behavior is controlled by the **Inherit access from repo** option. **Inherit access from repo** is selected by default when publishing via {% data variables.product.prodname_actions %}, but not when publishing directly to {% data variables.product.prodname_dotcom %} Container Registry using a Personal Access Token (PAT). +This behavior is controlled by the **Inherit access from repo** option. **Inherit access from repo** is selected by default when publishing via {% data variables.product.prodname_actions %}, but not when publishing directly to {% data variables.product.prodname_ghcr_or_npm_registry %} using a Personal Access Token (PAT). If the **Inherit access from repo** option was not selected when the image was published, you can manually add the repository to the published container image's access controls. For more information, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#inheriting-access-for-a-container-image-from-a-repository)." @@ -46,13 +46,13 @@ If you want to allow a subset of an organization's repositories to access a cont ### Publishing a container image from a codespace -Seamless access from a codespace to {% data variables.product.prodname_dotcom %} Container Registry is limited to pulling container images. If you want to publish a container image from inside a codespace, you must use a personal access token (PAT) with the `write:packages` scope. +Seamless access from a codespace to {% data variables.product.prodname_ghcr_or_npm_registry %} is limited to pulling container images. If you want to publish a container image from inside a codespace, you must use a personal access token (PAT) with the `write:packages` scope. -We recommend publishing images via {% data variables.product.prodname_actions %}. For more information, see "[Publishing Docker images](/actions/publishing-packages/publishing-docker-images)." +We recommend publishing images via {% data variables.product.prodname_actions %}. For more information, see "[Publishing Docker images](/actions/publishing-packages/publishing-docker-images)" and "[Publishing Node.js packages](/actions/publishing-packages/publishing-nodejs-packages)." ## Accessing images stored in other container registries -If you are accessing a container image from a registry that isn't {% data variables.product.prodname_dotcom %} Container Registry, {% data variables.product.prodname_codespaces %} checks for the presence of three secrets, which define the server name, username, and personal access token (PAT) for a container registry. If these secrets are found, {% data variables.product.prodname_github_codespaces %} will make the registry available inside your codespace. +If you are accessing a container image from a registry that isn't {% data variables.product.prodname_ghcr_or_npm_registry %}, {% data variables.product.prodname_codespaces %} checks for the presence of three secrets, which define the server name, username, and personal access token (PAT) for a container registry. If these secrets are found, {% data variables.product.prodname_github_codespaces %} will make the registry available inside your codespace. - `<*>_CONTAINER_REGISTRY_SERVER` - `<*>_CONTAINER_REGISTRY_USER` diff --git a/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md b/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md index bf2b347536..a26e5f7ebd 100644 --- a/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md +++ b/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md @@ -17,7 +17,7 @@ redirect_from: ## About the {% data variables.product.prodname_vscode_command_palette %} -The Command Palette is one of the focal features of {% data variables.product.prodname_vscode %} and is available for you to use in {% data variables.product.prodname_github_codespaces %}. The {% data variables.product.prodname_vscode_command_palette %} allows you to access many commands for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_vscode_shortname %}. For more information on using the {% data variables.product.prodname_vscode_command_palette_shortname %}, see "[User Interface](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette)" in the {% data variables.product.prodname_vscode_shortname %} documentation. +The Command Palette is one of the focal features of {% data variables.product.prodname_vscode %} and is available for you to use in {% data variables.product.prodname_github_codespaces %}. The Command Palette allows you to access many commands for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_vscode_shortname %}. For more information on using the {% data variables.product.prodname_vscode_command_palette_shortname %}, see "[User Interface](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette)" in the {% data variables.product.prodname_vscode_shortname %} documentation. ## Accessing the {% data variables.product.prodname_vscode_command_palette_shortname %} 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 new file mode 100644 index 0000000000..b4000e433e --- /dev/null +++ b/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md @@ -0,0 +1,120 @@ +--- +title: Getting started with GitHub Codespaces for machine learning +shortTitle: Machine learning +intro: 'Learn about working on machine learning projects with {% data variables.product.prodname_github_codespaces %} and its out-of-the-box tools.' +product: '{% data reusables.gated-features.codespaces %}' +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Codespaces + - Developer +--- + +## Introduction + +This guide introduces you to machine learning with {% data variables.product.prodname_github_codespaces %}. You’ll build a simple image classifier, learn about some of the tools that come preinstalled in {% data variables.product.prodname_github_codespaces %}, configure your development environment for NVIDIA CUDA, and use {% data variables.product.prodname_cli %} to open your codespace in JupyterLab. + +## Prerequisite + +You have access to {% data variables.product.prodname_github_codespaces %}. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces)." + +## Build a simple image classifier + +We'll use a Jupyter notebook to build a simple image classifier. + +Jupyter notebooks are sets of cells that you can execute one after another. The notebook we'll use includes a number of cells that build an image classifier using [PyTorch](https://pytorch.org/). Each cell is a different phase of that process: download a dataset, set up a neural network, train a model, and then test that model. + +We'll run all of the cells, in sequence, to perform all phases of building the image classifier. When we do this Jupyter saves the output back into the notebook so that you can examine the results. + +### Creating a repository and a codespace + +1. Go to the [github/codespaces-getting-started-ml](https://github.com/github/codespaces-getting-started-ml) template repository and click **Use this template**. +{% data reusables.codespaces.open-codespace-from-template-repo %} + + By default, a codespace for this repository opens in a web-based version of {% data variables.product.prodname_vscode %}. + +### 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). + +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. +1. Click the Python kernel link at the top right of the editor. + + ![Screenshot of the Python kernal link](/assets/images/help/codespaces/jupyter-python-kernel-link.png) + +1. In the drop-down menu, choose the kernel in the directory `/opt/python/latest/bin/python`. + + ![Screenshot of the Python kernal drop-down menu](/assets/images/help/codespaces/jupyter-python-kernel-dropdown.png) + +### Build the image classifier + +The image classifier notebook contains all the code you need to download a dataset, train a neural network, and evaluate its performance. + +1. Click **Run All** to execute all of the notebook’s cells. + + ![Screenshot of the Run All button](/assets/images/help/codespaces/jupyter-run-all.png) + +1. Scroll down to view the output of each cell. + + ![Screenshot of Step 3 in the editor](/assets/images/help/codespaces/jupyter-notebook-step3.png) + +## Configure NVIDIA CUDA for your codespace + +Some software, such as TensorFlow, requires you to install NVIDIA CUDA to use your codespace’s GPU. Where this is the case, you can create your own custom configuration, by using a `devcontainer.json` file, and specify that CUDA should be installed. For more information on creating a custom configuration, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)." + +{% note %} + +**Note**: For full details of the script that's run when you add the `nvidia-cuda` feature, see [the devcontainers/features repository](https://github.com/devcontainers/features/tree/main/src/nvidia-cuda). + +{% endnote %} + +1. Within a codespace, open the `.devcontainer/devcontainer.json` file in the editor. +1. Add a top-level `features` object with the following contents: + + ```json{:copy} + “features”: { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "installCudnn": true + } + } + ``` + + For more information about the `features` object, see the [development containers specification](https://containers.dev/implementors/features/#devcontainer-json-properties). + + If you are using the `devcontainer.json` file from the image classifier repository you created for this tutorial, your `devcontainer.json` file will now look like this: + + ``` + { + "customizations": { + "vscode": { + "extensions": [ + "ms-python.python", + "ms-toolsai.jupyter" + ] + } + }, + “features”: { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "installCudnn": true + } + } + } + ``` + +1. Save the change. +{% data reusables.codespaces.rebuild-command %} + The codespace container will be rebuilt. This will take several minutes. When the rebuild is complete the codespace is automatically reopened. +1. Commit the change to the repository so that CUDA will be installed in any new codespaces you create from this repository in future. + +## Open your codespace in JupyterLab + +The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes JupyterLab, the web-based Jupyter IDE. You can use {% data variables.product.prodname_cli %} to open your codespace in JupyterLab without having to install anything else on your codespace. + +1. In the terminal, enter the {% data variables.product.prodname_cli %} command `gh cs jupyter`. +1. Choose the codespace you want to open. + + ![Screenshot of opening a codespace from the terminal](/assets/images/help/codespaces/open-codespace-in-jupyter.png) + diff --git a/content/codespaces/developing-in-codespaces/index.md b/content/codespaces/developing-in-codespaces/index.md index e67f1aa1b7..c2468004c7 100644 --- a/content/codespaces/developing-in-codespaces/index.md +++ b/content/codespaces/developing-in-codespaces/index.md @@ -18,6 +18,7 @@ children: - /forwarding-ports-in-your-codespace - /default-environment-variables-for-your-codespace - /connecting-to-a-private-network + - /getting-started-with-github-codespaces-for-machine-learning - /using-github-codespaces-in-visual-studio-code - /using-github-codespaces-with-github-cli --- diff --git a/content/codespaces/getting-started/deep-dive.md b/content/codespaces/getting-started/deep-dive.md index f22981969a..b4afca5e51 100644 --- a/content/codespaces/getting-started/deep-dive.md +++ b/content/codespaces/getting-started/deep-dive.md @@ -73,7 +73,7 @@ As you develop in your codespace, it will save any changes to your files every f ### Closing or stopping your codespace -To stop your codespace you can [use the {% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)). If you exit your codespace without running the stop command (for example, closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue until a window of inactivity occurs, after which the codespace will stop. By default, the window of inactivity is 30 minutes. +To stop your codespace you can [use the {% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)). If you exit your codespace without running the stop command (for example, closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue until a window of inactivity occurs, after which the codespace will stop. By default, the window of inactivity is 30 minutes. When you close or stop your codespace, all uncommitted changes are preserved until you connect to the codespace again. diff --git a/content/codespaces/getting-started/quickstart.md b/content/codespaces/getting-started/quickstart.md index a98c560b7b..de00a18f40 100644 --- a/content/codespaces/getting-started/quickstart.md +++ b/content/codespaces/getting-started/quickstart.md @@ -25,12 +25,7 @@ For more information on exactly how {% data variables.product.prodname_github_co ## Creating your codespace 1. Navigate to the [template repository](https://github.com/github/haikus-for-codespaces) and select **Use this template**. - -1. Choose an owner for the new repository, enter a repository name, select your preferred privacy setting, and click **Create repository from template**. - -1. Navigate to the main page of the newly created repository. Under the repository name, use the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu, and in the **Codespaces** tab, click **Create codespace on main**. - - ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) +{% data reusables.codespaces.open-codespace-from-template-repo %} ## Running the application diff --git a/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md b/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md index 04b6b16f65..75aed3dcf3 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md @@ -155,9 +155,9 @@ You can add features to your predefined container configuration to customize whi You can add some of the most common features by selecting them when configuring your predefined container. For more information on the available features, see the [script library](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library#scripts) in the `vscode-dev-containers` repository. -1. Access the Command Palette (`Shift + Command + P` / `Ctrl + Shift + P`), then start typing "configure". Select **Codespaces: Configure Devcontainer Features**. +1. Access the Command Palette (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "configure". Select **Codespaces: Configure Devcontainer Features**. - ![The Configure Devcontainer Features command in the command palette](/assets/images/help/codespaces/codespaces-configure-features.png) + ![The Configure Devcontainer Features command in the Command Palette](/assets/images/help/codespaces/codespaces-configure-features.png) 1. Update your feature selections, then click **OK**. @@ -165,7 +165,7 @@ You can add some of the most common features by selecting them when configuring 1. To apply the changes, in the bottom right corner of the screen, click **Rebuild now**. For more information about rebuilding your container, see "[Applying changes to your configuration](#applying-configuration-changes-to-a-codespace)." - !["Codespaces: Rebuild Container" in the command palette](/assets/images/help/codespaces/rebuild-prompt.png) + !["Codespaces: Rebuild Container" in the Command Palette](/assets/images/help/codespaces/rebuild-prompt.png) ## Creating a custom dev container configuration diff --git a/content/codespaces/troubleshooting/github-codespaces-logs.md b/content/codespaces/troubleshooting/github-codespaces-logs.md index 9e69b8ca68..737333eefc 100644 --- a/content/codespaces/troubleshooting/github-codespaces-logs.md +++ b/content/codespaces/troubleshooting/github-codespaces-logs.md @@ -28,7 +28,7 @@ These logs contain detailed information about the codespace, the container, the {% webui %} 1. If you are using {% data variables.product.prodname_codespaces %} in the browser, ensure that you are connected to the codespace you want to debug. -1. Open the {% data variables.product.prodname_vscode %} Command Palette (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) and type **Export logs**. Select **Codespaces: Export Logs** from the list to download the logs. +1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Export logs**. Select **Codespaces: Export Logs** from the list to download the logs. 1. Define where to save the zip archive of logs then click **Save** (desktop) or click **OK** (web). 1. If you are using {% data variables.product.prodname_codespaces %} in the browser, right-click on the zip archive of logs from the Explorer view and select **Download…** to download them to your local machine. @@ -36,7 +36,7 @@ These logs contain detailed information about the codespace, the container, the {% vscode %} -1. Open the {% data variables.product.prodname_vscode %} Command Palette (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) and type **Export logs**. Select **Codespaces: Export Logs** from the list to download the logs. +1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Export logs**. Select **Codespaces: Export Logs** from the list to download the logs. 1. Define where to save the zip archive of logs then click **Save** (desktop) or click **OK** (web). {% endvscode %} @@ -55,7 +55,7 @@ These logs contain information about the container, dev container, and their con {% webui %} 1. Connect to the codespace you want to debug. -2. Open the {% data variables.product.prodname_vscode_command_palette %} (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) and type **Creation logs**. Select **Codespaces: View Creation Log** from the list to open the `creation.log` file. +2. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Creation logs**. Select **Codespaces: View Creation Log** from the list to open the `creation.log` file. If you want to share the log with support, you can copy the text from the creation log into a text editor and save the file locally. @@ -63,7 +63,7 @@ If you want to share the log with support, you can copy the text from the creati {% vscode %} -Open the Command Palette (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) and type **Creation logs**. Select **Codespaces: View Creation Log** from the list to open the `creation.log` file. +Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Creation logs**. Select **Codespaces: View Creation Log** from the list to open the `creation.log` file. If you want to share the log with support, you can copy the text from the creation log into a text editor and save the file locally. diff --git a/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md index 1b7b2db9d6..8bc14670e8 100644 --- a/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md +++ b/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md @@ -1,5 +1,5 @@ --- -title: Troubleshooting creation and deletion of Codespaces +title: Troubleshooting creation and deletion of codespaces intro: 'This article provides troubleshooting steps for common issues you may experience when creating or deleting a codespace, including storage and configuration issues.' product: '{% data reusables.gated-features.codespaces %}' versions: @@ -16,6 +16,8 @@ shortTitle: Creation and deletion ### No access to create a codespace {% data variables.product.prodname_codespaces %} are not available for all repositories. If the "Open with Codespaces" button is missing, {% data variables.product.prodname_github_codespaces %} may not be available for that repository. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces)." +You can't create a codespace for a private repository that is owned by an organization, unless you have write access to the repository or the organization has enabled forking for it. + If you believe your organization has [enabled {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#about-enabling-codespaces-for-your-organization), make sure that an organization owner or billing manager has set the spending limit for {% data variables.product.prodname_codespaces %}. For more information, see "[Managing your spending limit for {% data variables.product.prodname_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces)." ### Codespace does not open when created diff --git a/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md b/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md index d5a3127bb4..94ee61efa0 100644 --- a/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md +++ b/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md @@ -18,7 +18,7 @@ redirect_from: Codespaces are set to stop after 30 minutes without any activity. If you try to interact with a codespace after it has stopped, you may see a `503 service unavailable` error. - If a **Start** button is shown in {% data variables.product.prodname_vscode %} or in your browser window, click **Start** to reconnect to the codespace. -- Reset your codespace by reloading the window. From the [command palette](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#accessing-the-command-palette) in {% data variables.product.prodname_vscode %}, click **Developer: Reload Window**. +- Reset your codespace by reloading the window. From the [Command Palette](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#accessing-the-command-palette) in {% data variables.product.prodname_vscode %}, click **Developer: Reload Window**. ## Browser cannot connect diff --git a/content/developers/apps/building-github-apps/authenticating-with-github-apps.md b/content/developers/apps/building-github-apps/authenticating-with-github-apps.md index a31ac9c75d..e25b98006d 100644 --- a/content/developers/apps/building-github-apps/authenticating-with-github-apps.md +++ b/content/developers/apps/building-github-apps/authenticating-with-github-apps.md @@ -149,13 +149,19 @@ To authenticate with an installation access token, include it in the Authorizati ```shell $ curl -i \ --H "Authorization: token YOUR_INSTALLATION_ACCESS_TOKEN" \ +-H "Authorization: Bearer YOUR_INSTALLATION_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ {% data variables.product.api_url_pre %}/installation/repositories ``` `YOUR_INSTALLATION_ACCESS_TOKEN` is the value you must replace. +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + ## Accessing API endpoints as an installation For a list of REST API endpoints that are available for use by {% data variables.product.prodname_github_apps %} using an installation access token, see "[Available Endpoints](/rest/overview/endpoints-available-for-github-apps)." diff --git a/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md b/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md index 389890bfaa..050d5d7a51 100644 --- a/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md +++ b/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md @@ -107,13 +107,13 @@ By default, the response takes the following form. The response parameters `expi The user's access token allows the GitHub App to make requests to the API on behalf of a user. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET {% data variables.product.api_url_code %}/user For example, in curl you can set the Authorization header like this: ```shell -curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user +curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user ``` ## Device flow @@ -132,12 +132,12 @@ The device flow allows you to authorize users for a headless app, such as a CLI Once you have an OAuth token for a user, you can check which installations that user can access. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET /user/installations You can also check which repositories are accessible to a user for an installation. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET /user/installations/:installation_id/repositories More details can be found in: [List app installations accessible to the user access token](/rest/apps#list-app-installations-accessible-to-the-user-access-token) and [List repositories accessible to the user access token](/rest/apps#list-repositories-accessible-to-the-user-access-token). diff --git a/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index d0e1dd4592..52e1519479 100644 --- a/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -23,6 +23,8 @@ When an organization has an allow list, third-party applications that connect vi ## Adding an IP address allow list to a {% data variables.product.prodname_github_app %} +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} {% data reusables.user-settings.github_apps %} diff --git a/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md index ca89fbc56b..151c640b90 100644 --- a/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md +++ b/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -47,7 +47,7 @@ Rate limits for {% data variables.product.prodname_github_apps %} and {% data va {% ifversion fpt or ghec %} -{% data variables.product.prodname_github_apps %} that are installed on an organization or a repository within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour. +{% data variables.product.prodname_github_apps %} that are installed on an organization within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour per organization that has installed the app. {% endif %} diff --git a/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md b/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md index 134182eb65..16619daebe 100644 --- a/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md +++ b/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md @@ -106,13 +106,13 @@ Accept: application/xml The access token allows you to make requests to the API on a behalf of a user. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET {% data variables.product.api_url_code %}/user For example, in curl you can set the Authorization header like this: ```shell -curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user +curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user ``` ## Device flow diff --git a/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md b/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md index b0be653f27..e1e253fc5f 100644 --- a/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md +++ b/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -27,7 +27,7 @@ If your {% data variables.product.prodname_oauth_app %} doesn't have access to a Check headers to see what OAuth scopes you have, and what the API action accepts: ```shell -$ curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/users/codertocat -I +$ curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/users/codertocat -I HTTP/2 200 X-OAuth-Scopes: repo, user X-Accepted-OAuth-Scopes: user diff --git a/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md index df2281c42d..4bfb12f6f5 100644 --- a/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md +++ b/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -37,12 +37,12 @@ $ export SECRET_TOKEN=your_token ## Validating payloads from GitHub -When your secret token is set, {% data variables.product.product_name %} uses it to create a hash signature with each payload. This hash signature is included with the headers of each request as `X-Hub-Signature-256`. +When your secret token is set, {% data variables.product.product_name %} uses it to create a hash signature with each payload. This hash signature is included with the headers of each request as `x-hub-signature-256`. {% ifversion fpt or ghes or ghec %} {% note %} -**Note:** For backward-compatibility, we also include the `X-Hub-Signature` header that is generated using the SHA-1 hash function. If possible, we recommend that you use the `X-Hub-Signature-256` header for improved security. The example below demonstrates using the `X-Hub-Signature-256` header. +**Note:** For backward-compatibility, we also include the `x-hub-signature` header that is generated using the SHA-1 hash function. If possible, we recommend that you use the `x-hub-signature-256` header for improved security. The example below demonstrates using the `x-hub-signature-256` header. {% endnote %} {% endif %} diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md index ca03572759..1b80c3756a 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md @@ -24,23 +24,22 @@ To configure an LMS to connect to {% data variables.product.prodname_classroom % ## Supported LMSes -{% data variables.product.prodname_classroom %} supports import of roster data from LMSes that implement Learning Tools Interoperability (LTI) standards. +{% note %} -- LTI version 1.0 and/or 1.1 -- LTI Names and Roles Provisioning 1.X +**Note:** {% data variables.product.prodname_classroom %} previously supported import of roster data from LMSes that implement Learning Tools Interoperability (LTI) versions 1.0 and 1.1. On June 30, 2022, the Instructional Management System (IMS) Global Learning Consortium [ended support for LTI versions 1.0 and 1.1](https://www.imsglobal.org/lti-security-announcement-and-deprecation-schedule). In the interest of keeping sensitive student information safe and secure, {% data variables.product.company_short %} has temporarily disabled importing roster data from LTI-compliant LMSes.

-Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. +Support for the latest version of Learning Tools Interoperability, [LTI 1.3](https://www.imsglobal.org/activity/learning-tools-interoperability), is currently being worked on and will be made available in {% data variables.product.prodname_classroom %} very soon. + +{% endnote %} + +LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. {% data variables.product.company_short %} has tested import of roster data from the following LMSes into {% data variables.product.prodname_classroom %}. -- Canvas - Google Classroom -- Moodle -- Sakai -Currently, {% data variables.product.prodname_classroom %} doesn't support import of roster data from Blackboard or Brightspace. -## Generating configuration credentials for your classroom +## Connecting to Google Classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} @@ -48,90 +47,16 @@ Currently, {% data variables.product.prodname_classroom %} doesn't support impor 1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster. - For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." - For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)." -1. In the list of LMSes, click your LMS. If your LMS is not supported, click **Other LMS**. - ![List of LMSes](/assets/images/help/classroom/classroom-settings-click-lms.png) -1. Read about connecting your LMS, then click **Connect to _LMS_**. -1. Copy the "Consumer Key", "Shared Secret", and "Launch URL" for the connection to the classroom. - ![Copy credentials](/assets/images/help/classroom/classroom-copy-credentials.png) +1. In the list of LMSes, click Google Classroom. + ![Google Classroom](/assets/images/help/classroom/classroom-settings-click-google-classroom.png) +1. Sign in to Google, then select the Classroom to link to. -## Configuring a generic LMS -You must configure the privacy settings for your LMS to allow external tools to receive roster information. +## Connecting to Canvas, Moodle, Sakai, and other LMSes -1. Navigate to your LMS. -1. Configure an external tool. -1. Provide the configuration credentials you generated in {% data variables.product.prodname_classroom %}. - - Consumer key - - Shared secret - - Launch URL (sometimes called "tool URL" or similar) +Connecting to other LMSes is temporarily unavailable as {% data variables.product.company_short %} updates to Learning Tools Interoperability (LTI) version 1.3. For more information, see "[Supported LMSes](#supported-lmses)." -## Configuring Canvas - -You can configure {% data variables.product.prodname_classroom %} as an external app for Canvas to import roster data into your classroom. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/). - -1. Sign into [Canvas](https://www.instructure.com/canvas/#login). -1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}. -1. In the left sidebar, click **Settings**. -1. Click the **Apps** tab. -1. Click **View app configurations**. -1. Click **+App**. -1. Select the **Configuration Type** drop-down menu, and click **By URL**. -1. Paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." - - | Field in Canvas app configuration | Value or setting | - | :- | :- | - | **Consumer Key** | Consumer key from {% data variables.product.prodname_classroom %} | - | **Shared Secret** | Shared secret from {% data variables.product.prodname_classroom %} | - | **Allow this tool to access the IMS Names and Role Provisioning Service** | Enabled | - | **Configuration URL** | Launch URL from {% data variables.product.prodname_classroom %} | - - {% note %} - - **Note**: If you don't see a checkbox in Canvas labeled "Allow this tool to access the IMS Names and Role Provisioning Service", then your Canvas administrator must contact Canvas support to enable membership service configuration for your Canvas account. Without enabling this feature, you won't be able to sync the roster from Canvas. For more information, see [How do I contact Canvas Support?](https://community.canvaslms.com/t5/Canvas-Basics-Guide/How-do-I-contact-Canvas-Support/ta-p/389767) on the Canvas website. - - {% endnote %} - -1. Click **Submit**. -1. In the left sidebar, click **Home**. -1. To prompt Canvas to send a confirmation email, in the left sidebar, click **GitHub Classroom**. Follow the instructions in the email to finish linking {% data variables.product.prodname_classroom %}. - -## Configuring Moodle - -You can configure {% data variables.product.prodname_classroom %} as an activity for Moodle to import roster data into your classroom. For more information about Moodle, see the [Moodle website](https://moodle.org). - -You must be using Moodle version 3.0 or greater. - -1. Sign into [Moodle](https://moodle.org/login/). -1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}. -1. Click **Turn editing on**. -1. Wherever you'd like {% data variables.product.prodname_classroom %} to be available in Moodle, click **Add an activity or resource**. -1. Choose **External tool** and click **Add**. -1. In the "Activity name" field, type "GitHub Classroom". -1. In the **Preconfigured tool** field, to the right of the drop-down menu, click **+**. -1. Under "External tool configuration", paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." - - | Field in Moodle app configuration | Value or setting | - | :- | :- | - | **Tool name** | {% data variables.product.prodname_classroom %} - _YOUR CLASSROOM NAME_

**Note**: You can use any name, but we suggest this value for clarity. | - | **Tool URL** | Launch URL from {% data variables.product.prodname_classroom %} | - | **LTI version** | LTI 1.0/1.1 | - | **Default launch container** | New window | - | **Consumer key** | Consumer key from {% data variables.product.prodname_classroom %} | - | **Shared secret** | Shared secret from {% data variables.product.prodname_classroom %} | - -1. Scroll to and click **Services**. -1. To the right of "IMS LTI Names and Role Provisioning", select the drop-down menu and click **Use this service to retrieve members' information as per privacy settings**. -1. Scroll to and click **Privacy**. -1. To the right of **Share launcher's name with tool** and **Share launcher's email with tool**, select the drop-down menus to click **Always**. -1. At the bottom of the page, click **Save changes**. -1. In the **Preconfigure tool** menu, click **GitHub Classroom - _YOUR CLASSROOM NAME_**. -1. Under "Common module settings", to the right of "Availability", select the drop-down menu and click **Hide from students**. -1. At the bottom of the page, click **Save and return to course**. -1. Navigate to anywhere you chose to display {% data variables.product.prodname_classroom %}, and click the {% data variables.product.prodname_classroom %} activity. - -## Importing a roster from your LMS - -For more information about importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." +In the meantime, you may manually input your roster for your class. For more information about manually importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." ## Disconnecting your LMS diff --git a/content/get-started/exploring-projects-on-github/following-organizations.md b/content/get-started/exploring-projects-on-github/following-organizations.md index 64d7144396..b3e02489ca 100644 --- a/content/get-started/exploring-projects-on-github/following-organizations.md +++ b/content/get-started/exploring-projects-on-github/following-organizations.md @@ -7,15 +7,11 @@ topics: - Profile --- -{% note %} - -**Note:** The ability to follow organizations is currently in public beta and subject to change. - -{% endnote %} +{% data reusables.organizations.follow-organizations-beta %} ## About followers on {% data variables.product.product_name %} -When you follow organizations, you'll see their public activity on your personal dashboard. For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." +{% data reusables.organizations.about-following-organizations %} For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." You can unfollow an organization if you do not wish to see their {% ifversion fpt or ghec %}public{% endif %} activity on {% data variables.product.product_name %}. diff --git a/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md b/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md index 97b049d2de..30a25ec8ae 100644 --- a/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md +++ b/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md @@ -58,11 +58,21 @@ If you have existing source code or repositories stored locally on your computer ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Change the current working directory to your local project. -4. Initialize the local directory as a Git repository. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Add the files in your new local repository. This stages them for the first commit. + ```shell $ git add . # Adds the files in the local repository and stages them for commit. {% data reusables.git.unstage-codeblock %} @@ -95,10 +105,19 @@ If you have existing source code or repositories stored locally on your computer ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Change the current working directory to your local project. -4. Initialize the local directory as a Git repository. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Add the files in your new local repository. This stages them for the first commit. ```shell $ git add . @@ -132,10 +151,19 @@ If you have existing source code or repositories stored locally on your computer ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Change the current working directory to your local project. -4. Initialize the local directory as a Git repository. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Add the files in your new local repository. This stages them for the first commit. ```shell $ git add . diff --git a/content/get-started/quickstart/be-social.md b/content/get-started/quickstart/be-social.md index 9938fad6cb..27cfae157f 100644 --- a/content/get-started/quickstart/be-social.md +++ b/content/get-started/quickstart/be-social.md @@ -57,7 +57,23 @@ From your dashboard, click the drop down menu of your username on the left side ![Switch account context dropdown](/assets/images/help/overview/dashboard-contextswitcher.png) -### Exploring other projects on {% data variables.product.prodname_dotcom %} +{% ifversion for-you-feed %} + +## Following organizations + +{% data reusables.organizations.follow-organizations-beta %} + +{% data reusables.organizations.about-following-organizations %} + +To follow an organization, in the header of the organization's page, click **Follow**. + +![Screenshot of the organization header, with the follow button highlighted](/assets/images/help/profile/organization-profile-following.png) + +For more information, see "[Following organizations](/get-started/exploring-projects-on-github/following-organizations)." + +{% endif %} + +## Exploring other projects on {% data variables.product.prodname_dotcom %} You can discover new and interesting projects on {% data variables.product.prodname_dotcom %}'s Explore page. You can star interesting projects to make them easy to find again later. Visit your stars page to see all your starred projects. For more information about stars, see "[Saving repositories with stars](/get-started/exploring-projects-on-github/saving-repositories-with-stars)." diff --git a/content/get-started/quickstart/fork-a-repo.md b/content/get-started/quickstart/fork-a-repo.md index 600c30dca4..9d3c9526b6 100644 --- a/content/get-started/quickstart/fork-a-repo.md +++ b/content/get-started/quickstart/fork-a-repo.md @@ -118,7 +118,7 @@ Right now, you have a fork of the Spoon-Knife repository, but you do not have th > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. - > remove: Total 10 (delta 1), reused 10 (delta 1) + > remote: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done. ``` diff --git a/content/graphql/guides/migrating-graphql-global-node-ids.md b/content/graphql/guides/migrating-graphql-global-node-ids.md index 34d985e126..aa6502c079 100644 --- a/content/graphql/guides/migrating-graphql-global-node-ids.md +++ b/content/graphql/guides/migrating-graphql-global-node-ids.md @@ -32,7 +32,7 @@ Here is an example request using cURL: ``` $ curl \ - -H "Authorization: token $GITHUB_TOKEN" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "X-Github-Next-Global-ID: 1" \ https://api.github.com/graphql \ -d '{ "query": "{ node(id: \"MDQ6VXNlcjM0MDczMDM=\") { id } }" }' diff --git a/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md b/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md index c54635daf3..3e15a0797b 100644 --- a/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md +++ b/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md @@ -70,7 +70,7 @@ You can find the node ID of an organization project if you know the organization ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{organization(login: \"ORGANIZATION\") {projectV2(number: NUMBER){id}}}"}' ``` {% endcurl %} @@ -94,7 +94,7 @@ You can also find the node ID of all projects in your organization. The followin ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"{organization(login: \"ORGANIZATION\") {projectsV2(first: 20) {nodes {id title}}}}"}' ``` {% endcurl %} @@ -125,7 +125,7 @@ You can find the node ID of a user project if you know the project number. Repla ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{user(login: \"USER\") {projectV2(number: NUMBER){id}}}"}' ``` {% endcurl %} @@ -149,7 +149,7 @@ You can also find the node ID for all of your projects. The following example wi ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"{user(login: \"USER\") {projectsV2(first: 20) {nodes {id title}}}}"}' ``` {% endcurl %} @@ -180,7 +180,7 @@ The following example will return the ID, name, settings, and configuration for ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { fields(first: 20) { nodes { ... on ProjectV2Field { id name } ... on ProjectV2IterationField { id name configuration { iterations { startDate id }}} ... on ProjectV2SingleSelectField { id name options { id name }}}}}}}"}' ``` {% endcurl %} @@ -284,7 +284,7 @@ If you just need the name and ID of a field, and do not need information about i ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { fields(first: 20) { nodes { ... on ProjectV2FieldCommon { id name }}}}}}"}' ``` {% endcurl %} @@ -354,7 +354,7 @@ The following example will return the first 20 issues, pull requests, and draft ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { items(first: 20) { nodes{ id fieldValues(first: 8) { nodes{ ... on ProjectV2ItemFieldTextValue { text field { ... on ProjectV2FieldCommon { name }}} ... on ProjectV2ItemFieldDateValue { date field { ... on ProjectV2FieldCommon { name } } } ... on ProjectV2ItemFieldSingleSelectValue { name field { ... on ProjectV2FieldCommon { name }}}}} content{ ... on DraftIssue { title body } ...on Issue { title assignees(first: 10) { nodes{ login }}} ...on PullRequest { title assignees(first: 10) { nodes{ login }}}}}}}}}"}' ``` {% endcurl %} @@ -446,7 +446,7 @@ The following example will add an issue or pull request to your project. Replace ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {addProjectV2ItemById(input: {projectId: \"PROJECT_ID\" contentId: \"CONTENT_ID\"}) {item {id}}}"}' ``` {% endcurl %} @@ -488,8 +488,8 @@ The following example will add a draft issue to your project. Replace `PROJECT_I ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ - --data '{"query":"mutation {addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) {item {id}}}"}' + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) {projectItem {id}}}"}' ``` {% endcurl %} @@ -498,7 +498,7 @@ curl --request POST \ gh api graphql -f query=' mutation { addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) { - item { + projectItem { id } } @@ -512,7 +512,7 @@ The response will contain the node ID of the newly created draft issue. { "data": { "addProjectV2ItemById": { - "item": { + "projectItem": { "id": "PVTI_lADOANN5s84ACbL0zgBbxFc" } } @@ -528,7 +528,7 @@ The following example will update your project's settings. Replace `PROJECT_ID` ```shell curl --request POST \ --url https://api.github.com/graphql \ ---header 'Authorization: token TOKEN' \ +--header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation { updateProjectV2(input: { projectId: \"PROJECT_ID\", title: \"Project title\", public: false, readme: \"# Project README\n\nA long description\", shortDescription: \"A short description\"}) { projectV2 { id, title, readme, shortDescription }}}"}' ``` {% endcurl %} @@ -565,7 +565,7 @@ The following example will update the value of a text field for an item. Replace ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { text: "Updated text" }}) { projectV2Item { id }}}"}' ``` {% endcurl %} @@ -619,7 +619,7 @@ The following example will update the value of a single select field for an item ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}' ``` {% endcurl %} @@ -659,7 +659,7 @@ The following example will update the value of an iteration field for an item. ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}' ``` {% endcurl %} @@ -694,7 +694,7 @@ The following example will delete an item from a project. Replace `PROJECT_ID` w ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {deleteProjectV2Item(input: {projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\"}) {deletedItemId}}"}' ``` {% endcurl %} diff --git a/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index 7e46a5395c..cfd6821b28 100644 --- a/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -23,7 +23,7 @@ To transfer an open issue to another repository, you must have write access to t {% endnote %} -When you transfer an issue, comments, labels and assignees are retained. The issue's milestones are not retained. This issue will stay on any user-owned or organization-wide project boards and be removed from any repository project boards. For more information, see "[About project boards](/articles/about-project-boards)." +When you transfer an issue, comments and assignees are retained. Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. This issue will stay on any user-owned or organization-wide project boards and be removed from any repository project boards. For more information, see "[About project boards](/articles/about-project-boards)." People or teams who are mentioned in the issue will receive a notification letting them know that the issue has been transferred to a new repository. The original URL redirects to the new issue's URL. People who don't have read permissions in the new repository will see a banner letting them know that the issue has been transferred to a new repository that they can't access. diff --git a/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index 7072ee723b..be572c1816 100644 --- a/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -38,6 +38,8 @@ You can also configure allowed IP addresses for the organizations in an enterpri {% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} diff --git a/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md b/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md index 36d4f7a49f..ca48cc9a2a 100644 --- a/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md +++ b/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md @@ -1,6 +1,6 @@ --- title: Enabling or disabling GitHub Discussions for an organization -intro: 'You can use {% data variables.product.prodname_discussions %} in a organization as a place for your organization to have conversations that aren''t specific to a single repository within your organization.' +intro: 'You can use {% data variables.product.prodname_discussions %} in an organization as a place for your organization to have conversations that aren''t specific to a single repository within your organization.' permissions: 'Organization owners can enable {% data variables.product.prodname_discussions %} for their organization.' versions: feature: discussions diff --git a/content/packages/index.md b/content/packages/index.md index 7999a46e7f..135fbcf6bc 100644 --- a/content/packages/index.md +++ b/content/packages/index.md @@ -18,6 +18,7 @@ featuredLinks: guideCards: - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' - '{% ifversion fpt or ghec or ghes > 3.4 %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion packages-npm-v2 %}/packages/working-with-a-github-packages-registry/working-with-the-npm-registry{% endif %}' - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry changelog: label: packages diff --git a/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/content/packages/learn-github-packages/about-permissions-for-github-packages.md index 7b27d76936..18235d4ef4 100644 --- a/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -18,20 +18,22 @@ The permissions for packages are either repository-scoped or user/organization-s A repository-scoped package inherits the permissions and visibility of the repository that owns the package. You can find a package scoped to a repository by going to the main page of the repository and clicking the **Packages** link to the right of the page. {% ifversion fpt or ghec %}For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)."{% endif %} -The {% data variables.product.prodname_registry %} registries below use repository-scoped permissions: +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: {% ifversion not fpt or ghec %}- Docker registry (`docker.pkg.github.com`){% endif %} - - npm registry + {% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - RubyGems registry - Apache Maven registry - NuGet registry +{% ifversion packages-npm-v2 %}For {% data variables.product.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} + {% ifversion fpt or ghec %} ## Granular permissions for user/organization-scoped packages Packages with granular permissions are scoped to a personal user or organization account. You can change the access control and visibility of the package separately from a repository that is connected (or linked) to a package. -Currently, only the {% data variables.product.prodname_container_registry %} offers granular permissions for your container image packages. +Currently, the {% data variables.product.prodname_ghcr_and_npm_registry %} offer granular permissions for your container image packages. ## Visibility and access permissions for container images diff --git a/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md index 9105c5e7bc..3c34034960 100644 --- a/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md +++ b/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -15,7 +15,7 @@ shortTitle: Access control & visibility Packages with granular permissions are scoped to a personal user or organization account. You can change the access control and visibility of a package separately from the repository that it is connected (or linked) to. -Currently, you can only use granular permissions with the {% data variables.product.prodname_container_registry %}. Granular permissions are not supported in our other package registries, such as the npm registry.{% ifversion docker-ghcr-enterprise-migration %} For more information about migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)."{% endif %} +Currently, you can only use granular permissions with the {% data variables.product.prodname_ghcr_and_npm_registry %}. Granular permissions are not supported in our other package registries, such as the RubyGems registry.{% ifversion docker-ghcr-enterprise-migration %} For more information about migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)."{% endif %} For more information about permissions for repository-scoped packages, packages-related scopes for PATs, or managing permissions for your actions workflows, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages)." @@ -105,7 +105,7 @@ To further customize access to your container image, see "[Configuring access to {% ifversion fpt or ghec %} ## Ensuring {% data variables.product.prodname_codespaces %} access to your package -By default, a codespace can seamlessly access certain packages in the {% data variables.product.prodname_dotcom %} Container Registry, such as those published in the same repository with the **Inherit access** option selected. For more information on which access is automatically configured, see "[Accessing images stored in {% data variables.product.prodname_dotcom %} Container Registry](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-github-container-registry)." +By default, a codespace can seamlessly access certain packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, such as those published in the same repository with the **Inherit access** option selected. For more information on which access is automatically configured, see "[Allowing your codespace to access a private image registry](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-container-registry-and-npm-registry)." Otherwise, to ensure that a codespace has access to your package, you must grant access to the repository where the codespace is being launched. diff --git a/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/content/packages/learn-github-packages/deleting-and-restoring-a-package.md index d4e95b8159..456eca2565 100644 --- a/content/packages/learn-github-packages/deleting-and-restoring-a-package.md +++ b/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -23,12 +23,12 @@ On {% data variables.product.prodname_dotcom %} if you have the required access, - an entire private package - an entire public package, if there's not more than 5000 downloads of any version of the package - a specific version of a private package -- a specific version of a public package, if the package version doesn't have more than 5000 downloads +- a specific version of a public package, if the package version doesn't have more than 5,000 downloads {% note %} **Note:** -- You cannot delete a public package if any version of the package has more than 5000 downloads. In this scenario, contact [GitHub support](https://support.github.com/contact?tags=docs-packages) for further assistance. +- You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact [GitHub support](https://support.github.com/contact?tags=docs-packages) for further assistance. - When deleting public packages, be aware that you may break projects that depend on your package. {% endnote %} @@ -46,7 +46,7 @@ You can use the REST API to manage your packages. For more information, see the {% endif %} -For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`.{% endif %} For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." +For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% data reusables.package_registry.no-graphql-to-delete-packages %} For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." {% endif %} @@ -54,18 +54,19 @@ For packages that inherit their permissions and access from repositories, you ca For packages that inherit their access permissions from repositories, you can delete a package if you have admin permissions to the repository. -Repository-scoped packages on {% data variables.product.prodname_registry %} include these packages: -- npm -- RubyGems -- maven -- Gradle -- NuGet -{% ifversion not fpt or ghec %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: + + {% ifversion not fpt or ghec %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm{% endif %} + - RubyGems registry + - Apache Maven registry + - NuGet registry + +{% ifversion packages-npm-v2 %}For {% data variables.product.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} {% ifversion fpt or ghec %} -To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME`, you must have admin access to the package. -For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." +To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME` or `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`, you must have admin access to the package. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." {% endif %} @@ -89,9 +90,7 @@ To delete a version of a repository-scoped package, you must have admin permissi For packages that inherit their permissions and access from repositories, you can use the GraphQL to delete a specific package version. -{% ifversion fpt or ghec %} -For containers or Docker images at `ghcr.io`, GraphQL is not supported but you can use the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." -{% endif %} +{% data reusables.package_registry.no-graphql-to-delete-packages %}{% ifversion fpt or ghec %} You can however use the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)."{% endif %} Use the `deletePackageVersion` mutation in the GraphQL API. You must use a token with the `read:packages`, `delete:packages`, and `repo` scopes. For more information about tokens, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." diff --git a/content/packages/learn-github-packages/introduction-to-github-packages.md b/content/packages/learn-github-packages/introduction-to-github-packages.md index fc5090006e..5450ffcff9 100644 --- a/content/packages/learn-github-packages/introduction-to-github-packages.md +++ b/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -51,7 +51,7 @@ For more information about the configuration of {% data variables.product.prodna | | | |--------------------|--------------------| -| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | | Visibility | {% data reusables.package_registry.public-or-private-packages %} | For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." @@ -101,7 +101,9 @@ For more information about Docker and the {% data variables.product.prodname_con ## Managing packages {% ifversion fpt or ghec %} -You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." +You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% data reusables.package_registry.no-graphql-to-delete-packages %} {% endif %} {% ifversion ghes %} @@ -112,7 +114,9 @@ You can delete a private or public package in the {% data variables.product.prod You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. + +For more information, see {% ifversion ghes or ghae %}"[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and {% endif %}"[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." diff --git a/content/packages/learn-github-packages/viewing-packages.md b/content/packages/learn-github-packages/viewing-packages.md index 4723416942..4c67fda41e 100644 --- a/content/packages/learn-github-packages/viewing-packages.md +++ b/content/packages/learn-github-packages/viewing-packages.md @@ -21,17 +21,17 @@ versions: ## About package views -Your ability to view a package depends on several factors. By default, you can view all packages you have published. +Your ability to view a package depends on several factors. By default, you can view all packages you have published. -Repository-scoped packages inherit their permissions and visibility from the repository that owns the package. The registries below use this type of permissions:{% ifversion not fpt or ghec %} +Repository-scoped packages inherit their permissions and visibility from the repository that owns the package. The registries below **only** use this type of permissions:{% ifversion not fpt or ghec %} - Docker registry (`docker.pkg.github.com`){% endif %} -- npm registry +{% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - RubyGems registry - Apache Maven registry - NuGet registry {% ifversion fpt or ghec %} -The Container registry offers you the option of granular permissions and visibility settings that can be customized for each package owned by a personal user or organization account. You can choose to use granular permissions or connect the package to a repository and inherit it's permissions. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +The {% data variables.product.prodname_ghcr_and_npm_registry %} offer you the option of granular permissions and visibility settings that can be customized for each package owned by a personal user or organization account. You can choose to use granular permissions or connect the package to a repository and inherit it's permissions. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." {% endif %} For more information, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages){% ifversion fpt or ghec %}" and "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility){% endif %}." diff --git a/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md index abf40d8435..6b3f8fc7cd 100644 --- a/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md +++ b/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -24,9 +24,9 @@ shortTitle: Publish & install with Actions You can extend the CI and CD capabilities of your repository by publishing or installing packages as part of your workflow. {% ifversion fpt or ghec %} -### Authenticating to the {% data variables.product.prodname_container_registry %} +### Authenticating to the {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} {% endif %} @@ -40,7 +40,7 @@ You can reference the `GITHUB_TOKEN` in your workflow file using the {% raw %}`{ {% note %} -**Note:** Repository-owned packages include RubyGems, npm, Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle. {% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`.{% endif %} +**Note:** Some registries, such as RubyGems, {% ifversion packages-npm-v2 %}{% else %}npm, {% endif %}Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle{% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`{% endif %}, only allow repository-owned packages. With {% data variables.product.prodname_ghcr_and_npm_registry_full %} you can choose to allow packages to be owned by a user, an organization, or linked to a repository. {% endnote %} @@ -49,11 +49,11 @@ When you enable GitHub Actions, GitHub installs a GitHub App on your repository. {% data variables.product.prodname_registry %} allows you to push and pull packages through the `GITHUB_TOKEN` available to a {% data variables.product.prodname_actions %} workflow. {% ifversion fpt or ghec %} -## About permissions and package access for {% data variables.product.prodname_container_registry %} +## About permissions and package access for {% data variables.product.prodname_ghcr_and_npm_registry %} -The {% data variables.product.prodname_container_registry %} (`ghcr.io`) allows users to create and administer containers as free-standing resources at the organization level. Containers can be owned by an organization or personal account and you can customize access to each of your containers separately from repository permissions. +The {% data variables.product.prodname_ghcr_and_npm_registry_full %} allows users to create and administer packages as free-standing resources at the organization level. Packages can be owned by an organization or personal account and you can customize access to each of your packages separately from repository permissions. -All workflows accessing the {% data variables.product.prodname_container_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." +All workflows accessing the {% data variables.product.prodname_ghcr_and_npm_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." ## Default permissions and access settings for containers modified through workflows @@ -484,9 +484,9 @@ Installing packages hosted by {% data variables.product.prodname_registry %} thr {% data reusables.package_registry.actions-configuration %} {% ifversion fpt or ghec %} -## Upgrading a workflow that accesses `ghcr.io` +## Upgrading a workflow that accesses a registry using a PAT -The {% data variables.product.prodname_container_registry %} supports the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to `ghcr.io`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. +The {% data variables.product.prodname_ghcr_and_npm_registry %} support the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to the registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." @@ -504,9 +504,9 @@ Using the `GITHUB_TOKEN` instead of a PAT, which includes the `repo` scope, incr {% endnote %} 1. Optionally, using the "role" drop-down menu, select the default access level that you'd like the repository to have to your container image. ![Permission access levels to give to repositories](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) -1. Open your workflow file. On the line where you log in to `ghcr.io`, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. +1. Open your workflow file. On the line where you log in to the registry, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. -For example, this workflow publishes a Docker image using {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. +For example, this workflow publishes a Docker image to the {% data variables.product.prodname_container_registry %} and uses {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. ```yaml{:copy} name: Demo Push diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md index 02708a404d..98ac905c0a 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -42,7 +42,9 @@ When installing or publishing a Docker image, the {% data variables.product.prod ## Authenticating to the {% data variables.product.prodname_container_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% ifversion fpt or ghec or ghes > 3.4 %} +To authenticate to the {% data variables.product.prodname_container_registry %} (`ghcr.io`) within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. {% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} +{% endif %} {% ifversion ghes %}Ensure that you replace `HOSTNAME` with {% data variables.product.product_location_enterprise %} hostname or IP address in the examples below.{% endif %} diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 993e933de3..8007cd2b6f 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -21,6 +21,8 @@ shortTitle: npm registry {% data reusables.package_registry.admins-can-configure-package-types %} +{% ifversion packages-npm-v2 %} +{% else %} ## Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. @@ -28,12 +30,17 @@ If you publish over 1,000 npm package versions to {% data variables.product.prod In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +{% endif %} ## Authenticating to {% data variables.product.prodname_registry %} {% data reusables.package_registry.authenticate-packages %} -{% data reusables.package_registry.authenticate-packages-github-token %} +{% ifversion packages-npm-v2 %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +You can also choose to give access permissions to packages independently for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_actions %}. For more information, see "[Ensuring Codespaces access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package) and [Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." +{% endif %} ### Authenticating with a personal access token @@ -94,12 +101,24 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} +{% ifversion packages-npm-v2 %} +The {% data variables.product.prodname_registry %} registry stores npm packages within your organization or personal account, and allows you to associate a package with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. +{% endif %} + By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." +{% ifversion fpt or ghec %} +When a package is published, it isn't automatically linked to a repository. You can however choose to link your published package to a repository using the user interface or command line. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + You can set up the scope mapping for your project using either a local *.npmrc* file in the project or using the `publishConfig` option in the *package.json*. {% data variables.product.prodname_registry %} only supports scoped npm packages. Scoped packages have names with the format of `@owner/name`. Scoped packages always begin with an `@` symbol. You may need to update the name in your *package.json* to use the scoped name. For example, `"name": "@codertocat/hello-world-npm"`. +{% ifversion packages-npm-v2 %} +When you first publish a package, the default visibility is private. When a package is linked to repository, the package visibility is dependent on the repository's visibility. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." +{% endif %} + {% data reusables.package_registry.viewing-packages %} ### Publishing a package using a local *.npmrc* file diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index b844e2251b..05e0b384b9 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -47,7 +47,7 @@ To set up a `www` or custom subdomain, such as `www.example.com` or `blog.exampl {% data reusables.pages.sidebar-pages %} 4. Under "Custom domain", type your custom domain, then click **Save**. If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." ![Save custom domain button](/assets/images/help/pages/save-custom-subdomain.png) -5. Navigate to your DNS provider and create a `CNAME` record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain `www.example.com` for your user site, create a `CNAME` record that points `www.example.com` to `.github.io`. If you want to use the subdomain `www.anotherexample.com` for your organization site, create a `CNAME` record that points `www.anotherexample.com` to `.github.io`. The `CNAME` record should always point to `.github.io` or `.github.io`, excluding the repository name. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} +5. Navigate to your DNS provider and create a `CNAME` record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain `www.example.com` for your user site, create a `CNAME` record that points `www.example.com` to `.github.io`. If you want to use the subdomain `another.example.com` for your organization site, create a `CNAME` record that points `another.example.com` to `.github.io`. The `CNAME` record should always point to `.github.io` or `.github.io`, excluding the repository name. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} {% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} {% data reusables.command_line.open_the_multi_os_terminal %} diff --git a/content/rest/apps/installations.md b/content/rest/apps/installations.md index 52384aab04..3f06ce80d6 100644 --- a/content/rest/apps/installations.md +++ b/content/rest/apps/installations.md @@ -17,4 +17,4 @@ versions: An _installation_ refers to any user or organization account that has installed the app. For information on how to authenticate as an installation and limit access to specific repositories, see "[Authenticating as an installation](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)." -To list all GitHub App installations for an organization, see "[List app installations for an organization](/rest/reference/orgs#list-app-installations-for-an-organization)." +To list all GitHub App installations for an organization, see "[List app installations for an organization](/rest/orgs/orgs#list-app-installations-for-an-organization)." diff --git a/content/rest/guides/getting-started-with-the-checks-api.md b/content/rest/guides/getting-started-with-the-checks-api.md index 2c60bf90f8..7388ae96bb 100644 --- a/content/rest/guides/getting-started-with-the-checks-api.md +++ b/content/rest/guides/getting-started-with-the-checks-api.md @@ -41,7 +41,7 @@ A check run is an individual test that is part of a check suite. Each run includ ![Check runs workflow](/assets/images/check_runs.png) -If a check run is in a incomplete state for more than 14 days, then the check run's `conclusion` becomes `stale` and appears on {% data variables.product.prodname_dotcom %} as stale with {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Only {% data variables.product.prodname_dotcom %} can mark check runs as `stale`. For more information about possible conclusions of a check run, see the [`conclusion` parameter](/rest/reference/checks#create-a-check-run--parameters). +If a check run is in an incomplete state for more than 14 days, then the check run's `conclusion` becomes `stale` and appears on {% data variables.product.prodname_dotcom %} as stale with {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Only {% data variables.product.prodname_dotcom %} can mark check runs as `stale`. For more information about possible conclusions of a check run, see the [`conclusion` parameter](/rest/reference/checks#create-a-check-run--parameters). As soon as you receive the [`check_suite`](/webhooks/event-payloads/#check_suite) webhook, you can create the check run, even if the check is not complete. You can update the `status` of the check run as it completes with the values `queued`, `in_progress`, or `completed`, and you can update the `output` as more details become available. A check run can contain timestamps, a link to more details on your external site, detailed annotations for specific lines of code, and information about the analysis performed. diff --git a/content/rest/guides/getting-started-with-the-rest-api.md b/content/rest/guides/getting-started-with-the-rest-api.md index dd9545f30b..8c54d89f60 100644 --- a/content/rest/guides/getting-started-with-the-rest-api.md +++ b/content/rest/guides/getting-started-with-the-rest-api.md @@ -166,7 +166,7 @@ curl --request GET \ {% note %} -**Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) will only work with `Authorization: Bearer`. +**Note:** {% data reusables.getting-started.bearer-vs-token %} {% endnote %} diff --git a/content/rest/overview/other-authentication-methods.md b/content/rest/overview/other-authentication-methods.md index b75ab98525..d8147fdb5d 100644 --- a/content/rest/overview/other-authentication-methods.md +++ b/content/rest/overview/other-authentication-methods.md @@ -86,10 +86,16 @@ If you have two-factor authentication enabled, make sure you understand how to [ {% endnote %} +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + If you're using the API to access an organization that enforces [SAML SSO][saml-sso] for authentication, you'll need to create a personal access token (PAT) and [authorize the token][allowlist] for that organization. Visit the URL specified in `X-GitHub-SSO` to authorize the token for the organization. ```shell -$ curl -v -H "Authorization: token TOKEN" {% data variables.product.api_url_pre %}/repos/octodocs-test/test +$ curl -v -H "Authorization: Bearer TOKEN" {% data variables.product.api_url_pre %}/repos/octodocs-test/test > X-GitHub-SSO: required; url=https://github.com/orgs/octodocs-test/sso?authorization_request=AZSCKtL4U8yX1H3sCQIVnVgmjmon5fWxks5YrqhJgah0b2tlbl9pZM4EuMz4 { @@ -101,7 +107,7 @@ $ curl -v -H "Authorization: token TOKEN" {% data variables.product.api When requesting data that could come from multiple organizations (for example, [requesting a list of issues created by the user][user-issues]), the `X-GitHub-SSO` header indicates which organizations require you to authorize your personal access token: ```shell -$ curl -v -H "Authorization: token TOKEN" {% data variables.product.api_url_pre %}/user/issues +$ curl -v -H "Authorization: Bearer TOKEN" {% data variables.product.api_url_pre %}/user/issues > X-GitHub-SSO: partial-results; organizations=21955855,20582480 ``` diff --git a/content/rest/overview/resources-in-the-rest-api.md b/content/rest/overview/resources-in-the-rest-api.md index 19c7f3d34e..033f0ccd78 100644 --- a/content/rest/overview/resources-in-the-rest-api.md +++ b/content/rest/overview/resources-in-the-rest-api.md @@ -91,7 +91,7 @@ $ curl -u "username" {% data variables.product.api_url_pre %} ### OAuth2 token (sent in a header) ```shell -$ curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %} +$ curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %} ``` {% note %} @@ -100,6 +100,12 @@ Note: GitHub recommends sending OAuth tokens using the Authorization header. {% endnote %} +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + Read [more about OAuth2](/apps/building-oauth-apps/). Note that OAuth2 tokens can be acquired using the [web application flow](/developers/apps/authorizing-oauth-apps#web-application-flow) for production applications. {% ifversion fpt or ghes or ghec %} diff --git a/content/rest/overview/troubleshooting.md b/content/rest/overview/troubleshooting.md index e7394d5a9c..72a862387a 100644 --- a/content/rest/overview/troubleshooting.md +++ b/content/rest/overview/troubleshooting.md @@ -55,13 +55,13 @@ curl -u my_user:my_password https://api.github.com/user/repos Instead, use a [personal access token](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) when testing endpoints or doing local development: ```bash -curl -H 'Authorization: token my_access_token' https://api.github.com/user/repos +curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos ``` For OAuth Apps, you should use the [web application flow](/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to generate an OAuth token to use in the API call's header: ```bash -curl -H 'Authorization: token my-oauth-token' https://api.github.com/user/repos +curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos ``` ## Timeouts diff --git a/content/rest/quickstart.md b/content/rest/quickstart.md index b8bf64cd32..7c56fcf402 100644 --- a/content/rest/quickstart.md +++ b/content/rest/quickstart.md @@ -284,7 +284,7 @@ jobs: {% note %} - **Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) only work with `Authorization: Bearer`. + **Note:** {% data reusables.getting-started.bearer-vs-token %} {% endnote %} diff --git a/content/rest/teams/external-groups.md b/content/rest/teams/external-groups.md index 2ac2295d45..fd5644a84b 100644 --- a/content/rest/teams/external-groups.md +++ b/content/rest/teams/external-groups.md @@ -19,7 +19,7 @@ To use this API, the authenticated user must be a team maintainer or an owner of **Notes:** -- The external groups API is only available for organizations that are part of a enterprise using {% data variables.product.prodname_emus %}. For more information, see "[About Enterprise Managed Users](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." +- The external groups API is only available for organizations that are part of an enterprise using {% data variables.product.prodname_emus %}. For more information, see "[About Enterprise Managed Users](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)." - If your organization uses team synchronization, you can use the Team Synchronization API. For more information, see "[Team synchronization API](#team-synchronization)." {% endnote %} diff --git a/content/rest/users/index.md b/content/rest/users/index.md index 326247f961..9fee33defb 100644 --- a/content/rest/users/index.md +++ b/content/rest/users/index.md @@ -19,5 +19,6 @@ children: - /followers - /gpg-keys - /keys + - /ssh-signing-keys --- diff --git a/content/rest/users/ssh-signing-keys.md b/content/rest/users/ssh-signing-keys.md new file mode 100644 index 0000000000..33f57a4278 --- /dev/null +++ b/content/rest/users/ssh-signing-keys.md @@ -0,0 +1,13 @@ +--- +title: SSH signing keys +intro: '' +versions: + fpt: '*' + ghes: '>=3.7' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +--- + diff --git a/content/site-policy/privacy-policies/github-privacy-statement.md b/content/site-policy/privacy-policies/github-privacy-statement.md index 57bde0b8b5..ab5843b284 100644 --- a/content/site-policy/privacy-policies/github-privacy-statement.md +++ b/content/site-policy/privacy-policies/github-privacy-statement.md @@ -15,7 +15,7 @@ topics: - Legal --- -Effective date: May 31, 2022 +Effective date: September 1, 2022 Thanks for entrusting GitHub Inc. or GitHub B.V. (“GitHub”, “we”, "us" or "our") with your source code, your projects, and your personal data. This Privacy Statement explains our practices regarding the collection, use, and disclosure of your data, including any personal data we collect and process in connection with our website and any applications, software, products, and services provided by GitHub, including any Beta Previews (collectively “Service”). @@ -25,7 +25,7 @@ All capitalized terms have their definition in [GitHub’s Terms of Service](/gi ## The short version -We use your personal information as this Privacy Statement describes. No matter where you are, where you live, or what your citizenship is, we provide the same high standard of privacy protection to all our users around the world, regardless of their country of origin or location. +We use your personal information as this Privacy Statement describes. No matter where you are, where you live, or what your citizenship is, you have the same high standard of privacy protection when using GitHub's products as all our users around the world, regardless of their country of origin or location. To see our Privacy Notice to residents of California, please go to [GitHub's Notice about the California Consumer Privacy Act](#githubs-notice-to-california-residents) or scroll down. @@ -34,12 +34,12 @@ To see our Privacy Notice to residents of California, please go to [GitHub's Not | Section | What can you find there? | |---|---| -| [Who is responsible for the processing of your information](#who-is-responsible-for-the-processing-of-your-information) | Subject to limited exceptions, GitHub is the controller and entity responsible for the processing of your personal data in connection with the Website or Service. | +| [Who is responsible for the processing of your information](#who-is-responsible-for-the-processing-of-your-information) | Subject to limited exceptions, GitHub is the controller and entity responsible for the processing of your personal data in connection with the Website or Service if you are in North America. For individuals outside North America the data controller is GitHub B.V. | | [What information GitHub collects](#what-information-github-collects) | GitHub collects information directly from you for your registration, payment, transactions, and user profile. We also automatically collect from you your usage information, cookies, and device information, subject, where necessary, to your consent. GitHub may also collect personal data from third parties. We only collect the minimum amount of personal data necessary from you, unless you choose to provide more.| | [How GitHub uses your information](#how-github-uses-your-information) | In this section, we describe the ways in which we use your information, including to provide you the Service, to communicate with you, for security and compliance purposes, and to improve our Website or Service or develop new features and functionality of our Website or Service. We also describe the legal basis upon which we process your information, where legally required. | | [How we share the information we collect](#how-we-share-the-information-we-collect) | We may share your information with third parties under one of the following circumstances: with your consent, with our service providers, for security purposes, to comply with our legal obligations, or when there is a change of control or sale of corporate entities or business units. We do not sell your personal information and we do not host advertising on GitHub. | | [Your choices regarding our processing of your personal data](#your-choices-regarding-our-processing-of-your-personal-data) | We provide ways for you to access, alter, or delete your personal information. | -| [Cookies](#cookies) | We only use strictly necessary cookies to provide, secure, and improve our Website or Service or develop new features and functionality of our Website or Service. We offer a page that makes this very transparent. We do not send any information to third-party analytics services. | +| [Cookies](#cookies) | Except for cookies used on our Enterprise Marketing Pages, we only use strictly necessary cookies to provide, secure, and improve our Website or Service or develop new features and functionality of our Website or Service.

As described below, we may use non-essential cookies on certain pages of our website to support our enterprise marketing efforts and market our products and services to enterprise customers, for example on resources.github.com (collectively “Enterprise Marketing Pages”).

We offer a [page](https://github.com/privacy/cookies) that makes all uses of cookies very transparent. | | [How GitHub secures your information](#how-github-secures-your-information) | We take all measures reasonably necessary to protect the confidentiality, integrity, and availability of your personal data on GitHub and to protect the resilience of our servers. | | [Communication preferences](#communication-preferences) | We communicate with you by email. You can control the way we contact you in your account settings, or by contacting us. | | [Resolving complaints](#resolving-complaints) | In the unlikely event that we are unable to resolve a privacy concern quickly and thoroughly, we provide a path of dispute resolution. | @@ -122,13 +122,14 @@ We may use your information to provide, administer, analyze, manage, and operate - Personalization of our Service by understanding you and your preferences to enhance your experience and enjoyment using our Service. - Provide customer support and respond to your questions. - Deliver promotional communications with you about new services, features, offers, promotions, and other information about our Service. +- Personalize and measure the effectiveness of enterprise business ads, promotional communications or marketing you receive related to the Enterprise Marketing Pages. - Send you information, including confirmations, invoices, technical notices, updates, security alerts, support and administrative messages. We combine data we collect from different sources for these purposes and to give you a more seamless, consistent, and personalized experience. ## How we share the information we collect -We share personal data with your consent or as necessary to complete your transactions or provide the services you have requested or authorized. In addition, we may share each of the categories of your personal data described above with the types of third parties described below for the following business purposes: +We share personal data as described below, including with your consent or as necessary to complete your transactions or provide the services you have requested or authorized. In addition, we may share each of the categories of your personal data described above with the types of third parties described below for the following business purposes: ### Public information You may select options available through our Service to publicly display and share your name and/or username and certain other information, such as your profile, demographic data, content and files, or geolocation data. For example, if you would like your email address to remain private, even when you’re commenting on public repositories, [you can adjust your setting for your email address to be private in your user profile](https://github.com/settings/emails). You can also [update your local Git configuration to use your private email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address). Please see more about email addresses in commit messages [here](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address). @@ -144,10 +145,10 @@ You can enable or add third-party applications, known as "Developer Products" to You may indicate, through your actions on GitHub, that you are willing to share your personal data. If you collaborate on or become a member of an organization, then its Account owners may receive your personal data. When you accept an invitation to an organization, you will be notified of the types of information owners may be able to see (for more information, see [About Organization Membership](/github/setting-up-and-managing-your-github-user-account/about-organization-membership)). Please contact the Account owners for more information about how they might process your personal data in their Organization and the ways for you to access, update, alter, or delete your personal data stored in the Account. ### Service providers -We share your personal data with service providers who process the information on our behalf to provide or improve our Service. For example, our service providers may perform payment processing, customer support ticketing, network data transmission, security, and other similar services. While GitHub processes all personal data in the United States, our service providers may process data outside of the United States or the European Union. Such processing by service providers will be in compliance with applicable law including any relevant transfer mechanism. +We share your personal data with service providers who process the information on our behalf to provide or improve our Service. For example, our service providers may perform payment processing, customer support ticketing, network data transmission, web analytics, marketing operations, security, and other similar services. While GitHub processes all personal data in the United States, our service providers may process data outside of the United States or the European Union. Such processing by service providers will be in compliance with applicable law including any relevant transfer mechanism. ### Affiliates - We enable access to personal data across our subsidiaries, affiliates, and related companies, for example, where we share common data systems or where access is needed to operate and provide the Service. + We enable access to personal data across our subsidiaries, affiliates, and related companies, for example, where we share common data systems, when affiliates provide services on our behalf, or where access is needed to operate and provide the Service. ### For security purposes We will disclose personal data if we believe it is necessary to: @@ -173,7 +174,7 @@ You can learn more about the CCPA and how we comply with it [here](#githubs-noti ## Your choices regarding our processing of your personal data We provide choices about the personal data we collect about you. The choices you make will not apply to any personal data associated with an Organization under your Account. -Access, correction, and deletion. If you're a GitHub user, you may access, update, alter, or delete your basic user profile information by [editing your user profile](https://github.com/settings/profile) or contacting [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://enterprise.githubsupport.com/hc/en-us). You can control the information we collect about you by limiting what information is in your profile, by keeping your information current, or by contacting [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://enterprise.githubsupport.com/hc/en-us). +Access, correction, and deletion. If you're a GitHub user, you may access, update, alter, or delete your basic user profile information by [editing your user profile](https://github.com/settings/profile) or contacting [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://enterprise.githubsupport.com/hc/en-us). You can control the information we collect about you by limiting what information is in your profile, by keeping your information current, by changing your cookie preferences, or by contacting [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://enterprise.githubsupport.com/hc/en-us). We retain and use your information as described in this Privacy Statement, but barring legal requirements, we will delete your full profile within 90 days of your request. After an account has been deleted, certain data, such as contributions to other Users' repositories and comments in others' issues, will remain. However, we will delete or de-identify your personal data, including your username and email address, from the author field of issues, pull requests, and comments by associating them with a ghost user. That said, the email address you have provided via your Git commit settings will always be associated with your commits in the Git system. If you choose to make your email address private, you should also update your Git commit settings. We are unable to change or delete data in the Git commit history — the Git software is designed to maintain a record — but we do enable you to control what information you put in that record. @@ -214,13 +215,65 @@ We rely on different lawful bases for collecting and processing personal data ab ### Cookies and tracking technologies -GitHub uses cookies to provide, secure and improve our Service or to develop new features and functionality of our Service. For example, we use them to keep you logged in, remember your preferences, identify your device for security purposes, compile statistical reports, and provide information for future development of GitHub. We use our own cookies and do not use any third-party service providers in this context. If you disable your browser or device’s ability to accept these cookies, you will not be able to log in or use our Service. We provide more information about [cookies on GitHub](/github/site-policy/github-subprocessors-and-cookies#cookies-on-github) on our [GitHub Subprocessors and Cookies](/github/site-policy/github-subprocessors-and-cookies) page that describes the cookies we set, the needs we have for those cookies, and the expiration of such cookies. +GitHub uses cookies to provide, secure and improve our Service or to develop new features and functionality of our Service. For example, we use them to (i) keep you logged in, (ii) remember your preferences, (iii) identify your device for security and fraud purposes, including as needed to maintain the integrity of our Service, (iv) compile statistical reports, and (v) provide information and insight for future development of GitHub. We provide more information about [cookies on GitHub](https://github.com/privacy/cookies) that describes the cookies we set, the needs we have for those cookies, and the expiration of such cookies. + +For Enterprise Marketing Pages, we may also use non-essential cookies to (i) gather information about enterprise users’ interests and online activities to personalize their experiences, including by making the ads, content, recommendations, and marketing seen or received more relevant and (ii) serve and measure the effectiveness of targeted advertising and other marketing efforts. If you disable the non-essential cookies on the Enterprise Marketing Pages, the ads, content, and marketing you see may be less relevant. Our emails to users may contain a pixel tag, which is a small, clear image that can tell us whether or not you have opened an email and what your IP address is. We use this pixel tag to make our email communications more effective and to make sure we are not sending you unwanted email. -### DNT +The length of time a cookie will stay on your browser or device depends on whether it is a “persistent” or “session” cookie. Session cookies will only stay on your device until you stop browsing. Persistent cookies stay until they expire or are deleted. The expiration time or retention period applicable to persistent cookies depends on the purpose of the cookie collection and tool used. You may be able to delete cookie data as described here. + +#### What are cookies and similar technologies? + +We use cookies and similar technologies, such as web beacons, local storage, and mobile analytics, to operate and provide our Services. When visiting Enterprise Marketing Pages, like resources.github.com, these and additional cookies, like advertising IDs, may be used for sales and marketing purposes. + +Cookies are small text files stored by your browser on your device. A cookie can later be read when your browser connects to a web server in the same domain that placed the cookie. The text in a cookie contains a string of numbers and letters that may uniquely identify your device and can contain other information as well. This allows the web server to recognize your browser over time, each time it connects to that web server. + +Web beacons are electronic images (also called “single-pixel” or “clear GIFs”) that are contained within a website or email. When your browser opens a webpage or email that contains a web beacon, it automatically connects to the web server that hosts the image (typically operated by a third party). This allows that web server to log information about your device and to set and read its own cookies. In the same way, third-party content on our websites (such as embedded videos, plug-ins, or ads) results in your browser connecting to the third-party web server that hosts that content. + +Mobile identifiers for analytics can be accessed and used by apps on mobile devices in much the same way that websites access and use cookies. When visiting Enterprise Marketing pages, like resources.github.com, on a mobile device these may allow us and our third-party analytics and advertising partners to collect data for sales and marketing purposes. + +We may also use so-called “flash cookies” (also known as “Local Shared Objects” or “LSOs”) to collect and store information about your use of our Services. Flash cookies are commonly used for advertisements and videos. + +#### How do we and our partners use cookies and similar technologies? + +The GitHub Services use cookies and similar technologies for a variety of purposes, including to store your preferences and settings, enable you to sign-in, analyze how our Services perform, track your interaction with the Services, develop inferences, combat fraud, and fulfill other legitimate purposes. Some of these cookies and technologies may be provided by third parties, including service providers and advertising partners. For example, our analytics and advertising partners may use these technologies in our Services to collect personal information (such as the pages you visit, the links you click on, and similar usage information, identifiers, and device information) related to your online activities over time and across Services for various purposes, including targeted advertising. GitHub will place non-essential cookies on pages where we market products and services to enterprise customers, for example, on resources.github.com. + +We and/or our partners also share the information we collect or infer with third parties for these purposes. + +The table below provides additional information about how we use different types of cookies: + +| Purpose | Description | +|:---|:---| +| Required Cookies | GitHub uses required cookies to perform essential website functions and to provide the services. For example, cookies are used to log you in, save your language preferences, provide a shopping cart experience, improve performance, route traffic between web servers, detect the size of your screen, determine page load times, improve user experience, and for audience measurement. These cookies are necessary for our websites to work. | +| Analytics | We allow third parties to use analytics cookies to understand how you use our websites so we can make them better. For example, cookies are used to gather information about the pages you visit and how many clicks you need to accomplish a task. We also use some analytics cookies to provide personalized advertising. | +| Social Media | GitHub and third parties use social media cookies to show you ads and content based on your social media profiles and activity on GitHub’s websites. This ensures that the ads and content you see on our websites and on social media will better reflect your interests. This also enables third parties to develop and improve their products, which they may use on websites that are not owned or operated by GitHub. | +| Advertising | In addition, GitHub and third parties use advertising cookies to show you new ads based on ads you've already seen. Cookies also track which ads you click or purchases you make after clicking an ad. This is done both for payment purposes and to show you ads that are more relevant to you. For example, cookies are used to detect when you click an ad and to show you ads based on your social media interests and website browsing history. | + +#### What are your cookie choices and controls? + + You have several options to disable non-essential cookies: + + 1. **Specifically on GitHub Enterprise Marketing Pages** + + Any GitHub page that serves non-essential cookies will have a link in the page’s footer to cookie settings. You can express your preferences at any time by clicking on that linking and updating your settings. + + Some users will also be able to manage non-essential cookies via a cookie consent banner, including the options to accept, manage, and reject all non-essential cookies. + 2. **Generally for all websites** + + You can control the cookies you encounter on the web using a variety of widely-available tools. For example: + - If your browser sends a [Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) (DNT) signal, GitHub will not set non-essential cookies and will not load third party resources which set non-essential cookies. + - Many browsers provide cookie controls which may limit the types of cookies you encounter online. Check out the documentation for your browser to learn more. + - If you enable a browser extension designed to block tracking, such as [Privacy Badger](https://en.wikipedia.org/wiki/Privacy_Badger), non-essential cookies set by a website or third parties may be disabled. + - If you enable a browser extension designed to block unwanted content, such as [uBlock Origin](https://en.wikipedia.org/wiki/UBlock_Origin), non-essential cookies will be disabled to the extent that content that sets non-essential cookies will be blocked. + - Advertising controls. Our advertising partners may participate in associations that provide simple ways to opt out of ad targeting, which you can access at: + - United States: [NAI](http://optout.networkadvertising.org) and [DAA](http://optout.aboutads.info/) + - Canada: [Digital Advertising Alliance of Canada](https://youradchoices.ca/) + - Europe: [European Digital Advertising Alliance](http://www.youronlinechoices.com/) + + These choices are specific to the browser you are using. If you access our Services from other devices or browsers, take these actions from those systems to ensure your choices apply to the data collected when you use those systems. + -"[Do Not Track](https://www.eff.org/issues/do-not-track)" (DNT) is a privacy preference you can set in your browser if you do not want online services to collect and share certain kinds of information about your online activity from third party tracking services. GitHub responds to browser DNT signals and follows the [W3C standard for responding to DNT signals](https://www.w3.org/TR/tracking-dnt/). If you would like to set your browser to signal that you would not like to be tracked, please check your browser's documentation for how to enable that signal. There are also good applications that block online tracking, such as [Privacy Badger](https://privacybadger.org/). ## Retention of personal data We retain personal data for as long as necessary to provide the services and fulfill the transactions you have requested, comply with our legal obligations, resolve disputes, enforce our agreements, and other legitimate and lawful business purposes. Because these needs can vary for different data types in the context of different services, actual retention periods can vary significantly based on criteria such as user expectations or consent, the sensitivity of the data, the availability of automated controls that enable users to delete data, and our legal or contractual obligations. For example, we may retain your personal data for longer periods, where necessary, subject to applicable law, for security purposes. @@ -244,15 +297,22 @@ GitHub processes personal data both inside and outside of the United States and ### Resolving complaints If you have concerns about the way GitHub is handling your personal data, please let us know immediately. We want to help. You may contact us by filling out the [Privacy contact form](https://support.github.com/contact/privacy). You may also email us directly at **(privacy [at] github [dot] com)** with the subject line "Privacy Concerns." We will respond promptly — within 45 days at the latest. -You may also contact our Data Protection Officer directly. +You may also contact our Data Protection Officer directly at at **github [at]dp-officer [dot] com** -| Our United States HQ | Our EU Office | -|---|---| -| GitHub Data Protection Officer | GitHub BV | -| 88 Colin P. Kelly Jr. St. | Vijzelstraat 68-72 | -| San Francisco, CA 94107 | 1017 HL Amsterdam | -| United States | The Netherlands | -| **privacy [at] github [dot] com** | **privacy [at] github [dot] com** | +**If you are in North America:**
+GitHub Data Protection Officer
+88 Colin P. Kelly Jr. St.
+San Francisco, CA 94107
+United States
+**privacy [at] github [dot] com**
+ +**If you are outside of North America:**
+Github Data Protection Officer
+c/o DP Dock DPO Services GmbH,
+Attn: GitHub BV, Gut Projensdorf,
+24161 Altenholz, Germany
+github@dp-officer.com cc: **privacy [at] github [dot] com**
+CC: GitHub BV, Vijzelstraat 68-72, 1017 HL Amsterdam, The Netherlands ### Dispute resolution process diff --git a/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md b/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md index 359529b876..fe406b940e 100644 --- a/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md +++ b/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md @@ -14,74 +14,23 @@ topics: - Legal --- -Effective date: **April 2, 2021** +Effective date: **September 1, 2022** -{% note %} - -**Note:** Changes to the list of cookies on this page are currently pending. - -{% endnote %} GitHub provides a great deal of transparency regarding how we use your data, how we collect your data, and with whom we share your data. To that end, we provide this page, which details [our subprocessors](#github-subprocessors), and how we use [cookies](#cookies-on-github). ## GitHub Subprocessors -When we share your information with third party subprocessors, such as our vendors and service providers, we remain responsible for it. We work very hard to maintain your trust when we bring on new vendors, and we require all vendors to enter into data protection agreements with us that restrict their processing of Users' Personal Information (as defined in the [Privacy Statement](/articles/github-privacy-statement/)). You can sign up to receive subprocessor list updates [here](https://www.github.com/privacy/subprocessors). +When we share your information with third party subprocessors, such as our vendors and service providers, we remain responsible for it. We work very hard to maintain your trust when we bring on new vendors, and we require all vendors to enter into data protection agreements with us that restrict their processing of Users' Personal Information (as defined in the [Privacy Statement](/articles/github-privacy-statement/)). -| Name of Subprocessor | Description of Processing | Location of Processing | Corporate Location -|:---|:---|:---|:---| -| Automattic | Blogging service | United States | United States | -| AWS Amazon | Data hosting | United States | United States | -| Braintree (PayPal) | Subscription credit card payment processor | United States | United States | -| Clearbit | Marketing data enrichment service | United States | United States | -| Discourse | Community forum software provider | United States | United States | -| Eloqua | Marketing campaign automation | United States | United States | -| Google Apps | Internal company infrastructure | United States | United States | -| MailChimp | Customer ticketing mail services provider | United States | United States | -| Mailgun | Transactional mail services provider | United States | United States | -| Microsoft | Microsoft Services | United States | United States | -| Nexmo | SMS notification provider | United States | United States | -| Salesforce.com | Customer relations management | United States | United States | -| Sentry.io | Application monitoring provider | United States | United States | -| Stripe | Payment provider | United States | United States | -| Twilio & Twilio Sendgrid | SMS notification provider & transactional mail service provider | United States | United States | -| Zendesk | Customer support ticketing system | United States | United States | -| Zuora | Corporate billing system | United States | United States | +When we bring on a new subprocessor who handles our Users' Personal Information, or remove a subprocessor, or we change how we use a subprocessor, we will update the list of subprocessors. You can view the current list of subprocessors, and sign up to receive subprocessor list updates, at [https://www.github.com/privacy/subprocessors](https://www.github.com/privacy/subprocessors). -When we bring on a new subprocessor who handles our Users' Personal Information, or remove a subprocessor, or we change how we use a subprocessor, we will update this page. If you have questions or concerns about a new subprocessor, we'd be happy to help. Please contact us via {% data variables.contact.contact_privacy %}. +If you have questions or concerns about a new subprocessor, we'd be happy to help. Please contact us via {% data variables.contact.contact_privacy %}. ## Cookies on GitHub GitHub uses cookies to provide and secure our websites, as well as to analyze the usage of our websites, in order to offer you a great user experience. Please take a look at our [Privacy Statement](/github/site-policy/github-privacy-statement#our-use-of-cookies-and-tracking) if you’d like more information about cookies, and on how and why we use them. -Since the number and names of cookies may change, the table below may be updated from time to time. - -| Service Provider | Cookie Name | Description | Expiration* | -|:---|:---|:---|:---| -| GitHub | `app_manifest_token` | This cookie is used during the App Manifest flow to maintain the state of the flow during the redirect to fetch a user session. | five minutes | -| GitHub | `color_mode` | This cookie is used to indicate the user selected theme preference. | session | -| GitHub | `_device_id` | This cookie is used to track recognized devices for security purposes. | one year | -| GitHub | `dotcom_user` | This cookie is used to signal to us that the user is already logged in. | one year | -| GitHub | `_gh_ent` | This cookie is used for temporary application and framework state between pages like what step the customer is on in a multiple step form. | two weeks | -| GitHub | `_gh_sess` | This cookie is used for temporary application and framework state between pages like what step the user is on in a multiple step form. | session | -| GitHub | `gist_oauth_csrf` | This cookie is set by Gist to ensure the user that started the oauth flow is the same user that completes it. | deleted when oauth state is validated | -| GitHub | `gist_user_session` | This cookie is used by Gist when running on a separate host. | two weeks | -| GitHub | `has_recent_activity` | This cookie is used to prevent showing the security interstitial to users that have visited the app recently. | one hour | -| GitHub | `__Host-gist_user_session_same_site` | This cookie is set to ensure that browsers that support SameSite cookies can check to see if a request originates from GitHub. | two weeks | -| GitHub | `__Host-user_session_same_site` | This cookie is set to ensure that browsers that support SameSite cookies can check to see if a request originates from GitHub. | two weeks | -| GitHub | `logged_in` | This cookie is used to signal to us that the user is already logged in. | one year | -| GitHub | `marketplace_repository_ids` | This cookie is used for the marketplace installation flow. | one hour | -| GitHub | `marketplace_suggested_target_id` | This cookie is used for the marketplace installation flow. | one hour | -| GitHub | `_octo` | This cookie is used for session management including caching of dynamic content, conditional feature access, support request metadata, and first party analytics. | one year | -| GitHub | `org_transform_notice` | This cookie is used to provide notice during organization transforms. | one hour | -| GitHub | `private_mode_user_session` | This cookie is used for Enterprise authentication requests. | two weeks | -| GitHub | `saml_csrf_token` | This cookie is set by SAML auth path method to associate a token with the client. | until user closes browser or completes authentication request | -| GitHub | `saml_csrf_token_legacy` | This cookie is set by SAML auth path method to associate a token with the client. | until user closes browser or completes authentication request | -| GitHub | `saml_return_to` | This cookie is set by the SAML auth path method to maintain state during the SAML authentication loop. | until user closes browser or completes authentication request | -| GitHub | `saml_return_to_legacy` | This cookie is set by the SAML auth path method to maintain state during the SAML authentication loop. | until user closes browser or completes authentication request | -| GitHub | `tz` | This cookie allows us to customize timestamps to your time zone. | session | -| GitHub | `user_session` | This cookie is used to log you in. | two weeks | - -_*_ The **expiration** dates for the cookies listed below generally apply on a rolling basis. +You can view the current list of cookies on GitHub, and sign up to receive cookie list updates, at [https://github.com/privacy/cookies](https://github.com/privacy/cookies). (!) Please note while we limit our use of third party cookies to those necessary to provide external functionality when rendering external content, certain pages on our website may set other third party cookies. For example, we may embed content, such as videos, from another site that sets a cookie. While we try to minimize these third party cookies, we can’t always control what cookies this third party content sets. diff --git a/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md index dabf0fcdcb..bb966aba1b 100644 --- a/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md +++ b/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -25,7 +25,7 @@ shortTitle: Sponsor a contributor You can sponsor an account on behalf of your personal account to invest in projects that you personally benefit from. You can sponsor an account on behalf of your organization for many reasons. - Sustaining specific libraries that your organization's work depends on -- Investing in the ecosystem you rely on as a organization (such as blockchain) +- Investing in the ecosystem you rely on as an organization (such as blockchain) - Developing brand awareness as an organization that values open source - Thanking open source developers for building libraries that complement the product your organization offers diff --git a/contributing/content-style-guide.md b/contributing/content-style-guide.md index 72c51cb965..c50374f2b8 100644 --- a/contributing/content-style-guide.md +++ b/contributing/content-style-guide.md @@ -93,6 +93,15 @@ schedule: - cron: "40 19 * * *" ``` +### File and directory names + +Use inline codeblocks to refer to file and directory names. If a file type generally follows a specific capitalization convention, such as all caps for README files, use the established convention. + +- **Use:** In your `README.md` file, add info about your repository. +- **Use:** In your `.github/workflows/` directory, create the `example-workflow.yml` file. +- **Avoid:** In your _.github/workflows/_ directory, create the `example-workflow.yml` file. +- **Avoid:** Delete the **example.js** file. + ### Indentation In YAML examples, such as actions and workflow files, use two spaces to indent lines within nested lists and block sequences. @@ -500,29 +509,11 @@ Format checkbox names in bold and omit the word “checkbox.” To describe choo - **Use:** Select **Enable for all new repositories**. - **Avoid:** Check the “Enable for all new repositories” checkbox. -### Directory names - -Use sentence style capitalization. You can use internal capital letters in directory and folder names for readability. Format directory names in bold if you direct someone to select, type, or otherwise interact with the name. - -- **Use:** In your .github/workflows directory, create a new file. -- **Use:** Select your **.github/workflows** directory. -- **Avoid:** In your *.github/workflows* directory, select the workflow you wish to edit. -- **Avoid:** In your `.github/workflows` directory, select the workflow you wish to edit. - ### Dynamic text Use capital letters to indicate text that changes in the user interface or that the user needs to supply in a command or code snippet. - **Use:** Click **Add USERNAME to REPONAME**. -### File names - -Use title style capitalization. If a file type generally follows a different capitalization convention, such as all caps for README files, use the established convention. You can use internal capital letters in file names for readability. Format file names in bold if you direct someone to select, type, or otherwise interact with the name. - -- **Use:** In your README.md file, add info about your repository. -- **Use:** Enter **MyWorkflow.yml**. -- **Avoid:** In your *README.md* file, add info about your repository. -- **Avoid:** In your `README.md` file, add info about your repository. - ### Lists and list items Format lists and clickable list items in bold. To describe interacting with a list, such as a dropdown menu or UI element that expands, regardless of whether the list name is a word or an octicon, write "select." To describe choosing a list item, write "click." diff --git a/data/features/actions-hosted-runners.yml b/data/features/actions-hosted-runners.yml new file mode 100644 index 0000000000..d7b08dee74 --- /dev/null +++ b/data/features/actions-hosted-runners.yml @@ -0,0 +1,5 @@ +# Reference: #6458 +# Larger GitHub-hosted runners +versions: + fpt: '*' + ghec: '*' diff --git a/data/features/code-scanning-exclude-queries-from-analysis.yml b/data/features/code-scanning-exclude-queries-from-analysis.yml new file mode 100644 index 0000000000..ee8634cf6b --- /dev/null +++ b/data/features/code-scanning-exclude-queries-from-analysis.yml @@ -0,0 +1,7 @@ +# Issue 7617 +# Users can easily exclude CodeQL queries from code scanning analyses - [GA] +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7617' diff --git a/data/features/packages-npm-v2.yml b/data/features/packages-npm-v2.yml new file mode 100644 index 0000000000..aaebb7fbfc --- /dev/null +++ b/data/features/packages-npm-v2.yml @@ -0,0 +1,5 @@ +# Issue 7039 +# npm Package Registry Improvements (v2) GA +versions: + fpt: '*' + ghec: '*' diff --git a/data/features/streaming-datadog.yml b/data/features/streaming-datadog.yml new file mode 100644 index 0000000000..9c099525c1 --- /dev/null +++ b/data/features/streaming-datadog.yml @@ -0,0 +1,4 @@ +# Reference #7495 +# Documentation for audit log streaming to a Datadog endpoint +versions: + ghec: '*' diff --git a/data/graphql/ghae/schema.docs-ghae.graphql b/data/graphql/ghae/schema.docs-ghae.graphql index 459ca75db2..21eb506999 100644 --- a/data/graphql/ghae/schema.docs-ghae.graphql +++ b/data/graphql/ghae/schema.docs-ghae.graphql @@ -16035,6 +16035,41 @@ type MergeBranchPayload { mergeCommit: Commit } +""" +The possible default commit messages for merges. +""" +enum MergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the pull request's body. + """ + PR_BODY + + """ + Default to the pull request's title. + """ + PR_TITLE +} + +""" +The possible default commit titles for merges. +""" +enum MergeCommitTitle { + """ + Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + """ + MERGE_MESSAGE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Autogenerated input type of MergePullRequest """ @@ -16291,20 +16326,10 @@ enum MigrationSourceType { """ BITBUCKET_SERVER - """ - A GitHub migration source. - """ - GITHUB - """ A GitHub Migration API source. """ GITHUB_ARCHIVE - - """ - A GitLab migration source. - """ - GITLAB } """ @@ -32467,6 +32492,16 @@ type Repository implements Node & ProjectOwner & RepositoryInfo & Starrable & Su """ mergeCommitAllowed: Boolean! + """ + How the default commit message will be generated when merging a pull request. + """ + mergeCommitMessage: MergeCommitMessage! + + """ + How the default commit title will be generated when merging a pull request. + """ + mergeCommitTitle: MergeCommitTitle! + """ Returns a single milestone from the current repository by number. """ @@ -32898,6 +32933,16 @@ type Repository implements Node & ProjectOwner & RepositoryInfo & Starrable & Su """ squashMergeAllowed: Boolean! + """ + How the default commit message will be generated when squash merging a pull request. + """ + squashMergeCommitMessage: SquashMergeCommitMessage! + + """ + How the default commit title will be generated when squash merging a pull request. + """ + squashMergeCommitTitle: SquashMergeCommitTitle! + """ Whether a squash merge commit can use the pull request title as default. """ @@ -35838,6 +35883,41 @@ type SmimeSignature implements GitSignature { wasSignedByGitHub: Boolean! } +""" +The possible default commit messages for squash merges. +""" +enum SquashMergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the branch's commit messages. + """ + COMMIT_MESSAGES + + """ + Default to the pull request's body. + """ + PR_BODY +} + +""" +The possible default commit titles for squash merges. +""" +enum SquashMergeCommitTitle { + """ + Default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + """ + COMMIT_OR_PR_TITLE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Ways in which star connections can be ordered. """ diff --git a/data/graphql/ghec/schema.docs.graphql b/data/graphql/ghec/schema.docs.graphql index 6eb65ea54e..240e5bea5b 100644 --- a/data/graphql/ghec/schema.docs.graphql +++ b/data/graphql/ghec/schema.docs.graphql @@ -18295,6 +18295,41 @@ type MergeBranchPayload { mergeCommit: Commit } +""" +The possible default commit messages for merges. +""" +enum MergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the pull request's body. + """ + PR_BODY + + """ + Default to the pull request's title. + """ + PR_TITLE +} + +""" +The possible default commit titles for merges. +""" +enum MergeCommitTitle { + """ + Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + """ + MERGE_MESSAGE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Autogenerated input type of MergePullRequest """ @@ -18551,20 +18586,10 @@ enum MigrationSourceType { """ BITBUCKET_SERVER - """ - A GitHub migration source. - """ - GITHUB - """ A GitHub Migration API source. """ GITHUB_ARCHIVE - - """ - A GitLab migration source. - """ - GITLAB } """ @@ -39715,6 +39740,16 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ mergeCommitAllowed: Boolean! + """ + How the default commit message will be generated when merging a pull request. + """ + mergeCommitMessage: MergeCommitMessage! + + """ + How the default commit title will be generated when merging a pull request. + """ + mergeCommitTitle: MergeCommitTitle! + """ Returns a single milestone from the current repository by number. """ @@ -40312,6 +40347,16 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ squashMergeAllowed: Boolean! + """ + How the default commit message will be generated when squash merging a pull request. + """ + squashMergeCommitMessage: SquashMergeCommitMessage! + + """ + How the default commit title will be generated when squash merging a pull request. + """ + squashMergeCommitTitle: SquashMergeCommitTitle! + """ Whether a squash merge commit can use the pull request title as default. """ @@ -44802,6 +44847,41 @@ enum SponsorshipPrivacy { PUBLIC } +""" +The possible default commit messages for squash merges. +""" +enum SquashMergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the branch's commit messages. + """ + COMMIT_MESSAGES + + """ + Default to the pull request's body. + """ + PR_BODY +} + +""" +The possible default commit titles for squash merges. +""" +enum SquashMergeCommitTitle { + """ + Default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + """ + COMMIT_OR_PR_TITLE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Ways in which star connections can be ordered. """ diff --git a/data/graphql/schema.docs.graphql b/data/graphql/schema.docs.graphql index 6eb65ea54e..240e5bea5b 100644 --- a/data/graphql/schema.docs.graphql +++ b/data/graphql/schema.docs.graphql @@ -18295,6 +18295,41 @@ type MergeBranchPayload { mergeCommit: Commit } +""" +The possible default commit messages for merges. +""" +enum MergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the pull request's body. + """ + PR_BODY + + """ + Default to the pull request's title. + """ + PR_TITLE +} + +""" +The possible default commit titles for merges. +""" +enum MergeCommitTitle { + """ + Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + """ + MERGE_MESSAGE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Autogenerated input type of MergePullRequest """ @@ -18551,20 +18586,10 @@ enum MigrationSourceType { """ BITBUCKET_SERVER - """ - A GitHub migration source. - """ - GITHUB - """ A GitHub Migration API source. """ GITHUB_ARCHIVE - - """ - A GitLab migration source. - """ - GITLAB } """ @@ -39715,6 +39740,16 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ mergeCommitAllowed: Boolean! + """ + How the default commit message will be generated when merging a pull request. + """ + mergeCommitMessage: MergeCommitMessage! + + """ + How the default commit title will be generated when merging a pull request. + """ + mergeCommitTitle: MergeCommitTitle! + """ Returns a single milestone from the current repository by number. """ @@ -40312,6 +40347,16 @@ type Repository implements Node & PackageOwner & ProjectOwner & ProjectV2Recent """ squashMergeAllowed: Boolean! + """ + How the default commit message will be generated when squash merging a pull request. + """ + squashMergeCommitMessage: SquashMergeCommitMessage! + + """ + How the default commit title will be generated when squash merging a pull request. + """ + squashMergeCommitTitle: SquashMergeCommitTitle! + """ Whether a squash merge commit can use the pull request title as default. """ @@ -44802,6 +44847,41 @@ enum SponsorshipPrivacy { PUBLIC } +""" +The possible default commit messages for squash merges. +""" +enum SquashMergeCommitMessage { + """ + Default to a blank commit message. + """ + BLANK + + """ + Default to the branch's commit messages. + """ + COMMIT_MESSAGES + + """ + Default to the pull request's body. + """ + PR_BODY +} + +""" +The possible default commit titles for squash merges. +""" +enum SquashMergeCommitTitle { + """ + Default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + """ + COMMIT_OR_PR_TITLE + + """ + Default to the pull request's title. + """ + PR_TITLE +} + """ Ways in which star connections can be ordered. """ diff --git a/data/release-notes/enterprise-server/3-2/18.yml b/data/release-notes/enterprise-server/3-2/18.yml new file mode 100644 index 0000000000..818d03df01 --- /dev/null +++ b/data/release-notes/enterprise-server/3-2/18.yml @@ -0,0 +1,16 @@ +date: '2022-08-30' +sections: + bugs: + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/data/release-notes/enterprise-server/3-3/13.yml b/data/release-notes/enterprise-server/3-3/13.yml new file mode 100644 index 0000000000..7072e70f12 --- /dev/null +++ b/data/release-notes/enterprise-server/3-3/13.yml @@ -0,0 +1,23 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)." + known_issues: + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_actions %} may fail to start automatically. To resolve this issue, connect to the appliance via SSH and run the `ghe-actions-start` command. + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - '{% data variables.product.prodname_actions %} storage settings cannot be validated and saved in the {% data variables.enterprise.management_console %} when "Force Path Style" is selected, and must instead be configured with the `ghe-actions-precheck` command line utility.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/data/release-notes/enterprise-server/3-4/8.yml b/data/release-notes/enterprise-server/3-4/8.yml new file mode 100644 index 0000000000..6353897f97 --- /dev/null +++ b/data/release-notes/enterprise-server/3-4/8.yml @@ -0,0 +1,26 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)." + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with {% data variables.product.prodname_github_connect %}, issues in private and internal repositories are not included in {% data variables.product.prodname_dotcom_the_website %} search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - | + After registering a self-hosted runner with the `--ephemeral` parameter on more than one level (for example, both enterprise and organization), the runner may get stuck in an idle state and require re-registration. [Updated: 2022-06-17] + - After upgrading to {% data variables.product.prodname_ghe_server %} 3.4, releases may appear to be missing from repositories. This can occur when the required Elasticsearch index migrations have not successfully completed. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/data/release-notes/enterprise-server/3-5/5.yml b/data/release-notes/enterprise-server/3-5/5.yml new file mode 100644 index 0000000000..1864d8e999 --- /dev/null +++ b/data/release-notes/enterprise-server/3-5/5.yml @@ -0,0 +1,27 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - The site admin bar at the top of the web interface contained a broken link to the SHA for the currently running version of the application. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + - Alerts from secret scanning for GitHub Advanced Security customers were missing in the web UI and REST API if a site administrator did not upgrade directly to GitHub Enterprise Server 3.4. The alerts are now visible. + - When a user forked a repository into an organization, a long list of organizations would not render properly. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)." + - In some cases, cache replicas could reject some Git operations on recently updated repositories. For more information about repository caching, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)." + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services need to be restarted after restoring an appliance from a backup taken on a different host. diff --git a/data/release-notes/enterprise-server/3-6/0.yml b/data/release-notes/enterprise-server/3-6/0.yml index 4ca434c041..5b99481bd5 100644 --- a/data/release-notes/enterprise-server/3-6/0.yml +++ b/data/release-notes/enterprise-server/3-6/0.yml @@ -28,7 +28,9 @@ sections: # https://github.com/github/releases/issues/2341 - | - You can require TLS encryption for incoming SMTP connections to your instance. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)." + You can require TLS encryption for incoming SMTP connections to your instance. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications#enforcing-tls-for-smtp-connections)." + + - **Note**: This feature is unavailable in GitHub Enterprise Server 3.6.0. The feature will be available in an upcoming release. [Updated: 2022-08-26] - heading: Audit logs notes: @@ -294,3 +296,4 @@ sections: - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. - In some cases, users cannot convert existing issues to discussions. - Custom patterns for secret scanning have `.*` as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the `.*` delimiter. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/data/release-notes/enterprise-server/3-6/1.yml b/data/release-notes/enterprise-server/3-6/1.yml new file mode 100644 index 0000000000..f31b9cb734 --- /dev/null +++ b/data/release-notes/enterprise-server/3-6/1.yml @@ -0,0 +1,33 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + - The site admin bar at the top of the web interface contained a broken link to the SHA for the currently running version of the application. + - Organization owners were unable to set the level of access required to create discussions. + - Discussions users were incorrectly directed to the community guidelines for GitHub.com. + - In some cases, users were incorrectly instructed to verify their email before creating a discussion. + - Alerts from secret scanning for GitHub Advanced Security customers were missing in the web UI and REST API if a site administrator did not upgrade directly to GitHub Enterprise Server 3.4. The alerts are now visible. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)." + - In some cases, cache replicas could reject some Git operations on recently updated repositories. For more information about repository caching, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)." + - You can now configure the global announcement banner to be dismissable using the REST API. For more information, see "[Customizing user messages for your enterprise](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner)." + known_issues: + - On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user. + - Custom firewall rules are removed during the upgrade process. + - Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository. + - Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters. + - When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results. + - The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues. + - Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail. + - Actions services need to be restarted after restoring an instance from a backup taken on a different host. + - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. + - In some cases, users cannot convert existing issues to discussions. + - Custom patterns for secret scanning have `.*` as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the `.*` delimiter. diff --git a/data/reusables/actions/about-runner-groups.md b/data/reusables/actions/about-runner-groups.md new file mode 100644 index 0000000000..a2d79bdc09 --- /dev/null +++ b/data/reusables/actions/about-runner-groups.md @@ -0,0 +1,18 @@ +{% ifversion fpt %} +{% note %} + +**Note:** All organizations have a single default runner group. Only enterprise accounts and organizations owned by enterprise accounts can create and manage additional runner groups. + +{% endnote %} + +Runner groups are used to control access to runners. Organization admins can configure access policies that control which repositories in an organization have access to the runner group. + +If you use {% data variables.product.prodname_ghe_cloud %}, you can create additional runner groups; enterprise admins can configure access policies that control which organizations in an enterprise have access to the runner group; and organization admins can assign additional granular repository access policies to the enterprise runner group. +{% endif -%} +{% ifversion ghec or ghes or ghae %} + +{% data reusables.actions.runner-group-enterprise-overview %} + +When new runners are created, they are automatically assigned to the default group. Runners can only be in one group at a time. You can move runners from the default group to another group. For more information, see "[Moving a runner to a group](#moving-a-runner-to-a-group)." + +{% endif %} \ No newline at end of file diff --git a/data/reusables/actions/actions-billing.md b/data/reusables/actions/actions-billing.md index 249d4b339a..453bd9ef77 100644 --- a/data/reusables/actions/actions-billing.md +++ b/data/reusables/actions/actions-billing.md @@ -1 +1 @@ -{% data variables.product.prodname_actions %} usage is free for both public repositories and self-hosted runners. For private repositories, each {% data variables.product.prodname_dotcom %} account receives a certain amount of free minutes and storage, depending on the product used with the account. Any usage beyond the included amounts is controlled by spending limits. +{% data variables.product.prodname_actions %} usage is free for standard {% data variables.product.prodname_dotcom %}-hosted runners in public repositories, and for self-hosted runners. For private repositories, each {% data variables.product.prodname_dotcom %} account receives a certain amount of free minutes and storage for use with {% data variables.product.prodname_dotcom %}-hosted runners, depending on the product used with the account. Any usage beyond the included amounts is controlled by spending limits. diff --git a/data/reusables/actions/add-hosted-runner-overview.md b/data/reusables/actions/add-hosted-runner-overview.md new file mode 100644 index 0000000000..bdd66230ca --- /dev/null +++ b/data/reusables/actions/add-hosted-runner-overview.md @@ -0,0 +1,3 @@ +You can choose an operating system and a hardware configuration from the list of available options. When new instances of this runner are deployed through autoscaling, they'll use the same operating system and hardware configuration you've defined here. + +You can also define the labels that identify the runner, which is how your workflows will be able to send jobs to the runners for processing (using `runs-on`). New runners are automatically assigned to the default group, or you can choose which group the runners must join during the runner creation process. In addition, you can modify the runner's group membership after you've registered the runner. For more information, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." \ No newline at end of file diff --git a/data/reusables/actions/add-hosted-runner.md b/data/reusables/actions/add-hosted-runner.md new file mode 100644 index 0000000000..d533864a2e --- /dev/null +++ b/data/reusables/actions/add-hosted-runner.md @@ -0,0 +1,11 @@ +1. Click **New runner**, then click **{% octicon "mark-github" aria-label="New hosted runner" %} New Github-hosted runner**. +1. Complete the required details to configure your new runner: + + - **Name**: Enter a name for your new runner. For easier identification, this should indicate its hardware and operating configuration, such as `ubuntu-20.04-16core`. + - **Runner image**: Choose an operating system from the available options. Once you've selected an operating system, you will be able to choose a specific version. + - **Runner size**: Choose a hardware configuration from the drop-down list of available options. + - **Auto-scaling**: Choose the maximum number of runners that can be active at any time. + - **Runner group**: Choose the group that your runner will be a member of. This group will host multiple instances of your runner, as they scale up and down to suit demand. + - **Networking**: Only for {% data variables.product.prodname_ghe_cloud %}: Choose whether a static IP address range will be assigned to instances of the {% data variables.actions.hosted_runner %}. You can use up to 10 static IP addresses in total. + +1. Click **Create runner**. \ No newline at end of file diff --git a/data/reusables/actions/automatically-adding-a-runner-to-a-group.md b/data/reusables/actions/automatically-adding-a-runner-to-a-group.md new file mode 100644 index 0000000000..c76b2a5efc --- /dev/null +++ b/data/reusables/actions/automatically-adding-a-runner-to-a-group.md @@ -0,0 +1,11 @@ +You can use the configuration script to automatically add a new runner to a group. For example, this command registers a new runner and uses the `--runnergroup` parameter to add it to a group named `rg-runnergroup`. + +```sh +./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup +``` + +The command will fail if the runner group doesn't exist: + +``` +Could not find any self-hosted runner group named "rg-runnergroup". +``` \ No newline at end of file diff --git a/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md b/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md new file mode 100644 index 0000000000..f0234d5b88 --- /dev/null +++ b/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md @@ -0,0 +1,38 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group{% ifversion restrict-groups-to-workflows %} or restrict what workflows a runner group can run{% endif %}. For runner groups in an organization, you can change what repositories in the organization can access a runner group{% ifversion restrict-groups-to-workflows %} or restrict what workflows a runner group can run{% endif %}. + +### Changing what organizations or repositories can access a runner group + +{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. For runner groups in an enterprise, under **Organization access**, modify what organizations can access the runner group. For runner groups in an organization, under **Repository access**, modify what repositories can access the runner group. + +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.configure-runner-group-access %} +{% endif %} + +{% ifversion restrict-groups-to-workflows %} +### Changing what workflows can access a runner group +You can configure a runner group to run either selected workflows or all workflows. For example, you might use this setting to protect secrets that are stored on runners or to standardize deployment workflows by restricting a runner group to run only a specific reusable workflow. This setting cannot be overridden if you are configuring an organization's runner group that was shared by an enterprise. +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. Under **Workflow access**, select the dropdown menu and click **Selected workflows**. +1. Click {% octicon "gear" aria-label="the gear icon" %}. +1. Enter a comma separated list of the workflows that can access the runner group. Use the full path, including the repository name and owner. Pin the workflow to a branch, tag, or full SHA. For example: `octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main`. + + Only jobs directly defined within the selected workflows will have access to the runner group. + + Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group. + +1. Click **Save**. + +{% endif %} \ No newline at end of file diff --git a/data/reusables/actions/changing-the-name-of-a-runner-group.md b/data/reusables/actions/changing-the-name-of-a-runner-group.md new file mode 100644 index 0000000000..0c97c37769 --- /dev/null +++ b/data/reusables/actions/changing-the-name-of-a-runner-group.md @@ -0,0 +1,9 @@ +{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. Change the runner group name. + +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.configure-runner-group %} +1. Change the runner group name. +{% endif %} \ No newline at end of file diff --git a/data/reusables/actions/self-hosted-runner-configure-runner-group-access.md b/data/reusables/actions/configure-runner-group-access.md similarity index 84% rename from data/reusables/actions/self-hosted-runner-configure-runner-group-access.md rename to data/reusables/actions/configure-runner-group-access.md index 98b6a96c01..42999d8e42 100644 --- a/data/reusables/actions/self-hosted-runner-configure-runner-group-access.md +++ b/data/reusables/actions/configure-runner-group-access.md @@ -1,4 +1,4 @@ -{% data reusables.actions.self-hosted-runner-configure-runner-group %} +{% data reusables.actions.configure-runner-group %} 1. Modify your policy options. {% ifversion not ghae %} diff --git a/data/reusables/actions/self-hosted-runner-configure-runner-group.md b/data/reusables/actions/configure-runner-group.md similarity index 100% rename from data/reusables/actions/self-hosted-runner-configure-runner-group.md rename to data/reusables/actions/configure-runner-group.md diff --git a/data/reusables/actions/self-hosted-runner-create-group.md b/data/reusables/actions/create-runner-group.md similarity index 100% rename from data/reusables/actions/self-hosted-runner-create-group.md rename to data/reusables/actions/create-runner-group.md diff --git a/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md b/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md new file mode 100644 index 0000000000..e1c66d708e --- /dev/null +++ b/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md @@ -0,0 +1,28 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +Enterprises can add their runners to groups for access management. Enterprises can create groups of runners that are accessible to specific organizations in the enterprise account{% ifversion restrict-groups-to-workflows %} or to specific workflows{% endif %}. Organization owners can then assign additional granular repository{% ifversion restrict-groups-to-workflows %} or workflow{% endif %} access policies to the enterprise runner groups. For information about how to create a runner group with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/reference/actions#self-hosted-runner-groups). + +Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can assign the runner to a specific group during the registration process, or you can later move the runner from the default group to a custom group. + +When creating a group, you must choose a policy that defines which organizations have access to the runner group. + +{% data reusables.actions.runner-groups-add-to-enterprise-first-steps %} +1. To choose a policy for organization access, select the **Organization access** drop-down, and click a policy. You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise.{% ifversion ghes %} By default, only private repositories can access runners in a runner group, but you can override this.{% endif %} + + {%- ifversion ghec or ghes %} + + ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png) + {%- elsif ghae %} + + ![Add runner group options](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options-ae.png) + {%- endif %} +{% data reusables.actions.runner-group-assign-policy-workflow %} +1. Click **Save group** to create the group and apply the policy. + diff --git a/data/reusables/actions/creating-a-runner-group-for-an-organization.md b/data/reusables/actions/creating-a-runner-group-for-an-organization.md new file mode 100644 index 0000000000..91fa89d195 --- /dev/null +++ b/data/reusables/actions/creating-a-runner-group-for-an-organization.md @@ -0,0 +1,38 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +All organizations have a single default runner group. Organizations within an enterprise account can create additional groups. Organization admins can allow individual repositories access to a runner group. For information about how to create a runner group with the REST API, see "[Self-hosted runner groups](/rest/reference/actions#self-hosted-runner-groups)." + +Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create. + +When creating a group, you must choose a policy that defines which repositories{% ifversion restrict-groups-to-workflows %} and workflows{% endif %} have access to the runner group. + +{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} +1. In the "Runner groups" section, click **New runner group**. +1. Enter a name for your runner group. + {% data reusables.actions.runner-group-assign-policy-repo %} +{% data reusables.actions.runner-group-assign-policy-workflow %}{%- ifversion restrict-groups-to-workflows %} Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group.{% endif %} +{% data reusables.actions.create-runner-group %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} +1. Under {% ifversion ghes or ghae %}"Runners"{% endif %}, click **Add new**, and then **New group**. + + ![Add runner group](/assets/images/help/settings/actions-org-add-runner-group.png) +1. Enter a name for your runner group, and assign a policy for repository access. + + You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization.{% ifversion ghec or ghes %} By default, only private repositories can access runners in a runner group, but you can override this. This setting can't be overridden if configuring an organization's runner group that was shared by an enterprise.{% endif %} + + ![Add runner group options](/assets/images/help/settings/actions-org-add-runner-group-options.png) +1. Click **Save group** to create the group and apply the policy. +{% endif %} \ No newline at end of file diff --git a/data/reusables/actions/hosted-runner-security-admonition.md b/data/reusables/actions/hosted-runner-security-admonition.md new file mode 100644 index 0000000000..8c33797d55 --- /dev/null +++ b/data/reusables/actions/hosted-runner-security-admonition.md @@ -0,0 +1,5 @@ +{% warning %} + +**Warning**: {% data reusables.actions.hosted-runner-security %} + +{% endwarning %} \ No newline at end of file diff --git a/data/reusables/actions/hosted-runner-security.md b/data/reusables/actions/hosted-runner-security.md new file mode 100644 index 0000000000..ed12d189db --- /dev/null +++ b/data/reusables/actions/hosted-runner-security.md @@ -0,0 +1,3 @@ +We recommend that you only use {% data variables.actions.hosted_runner %}s with private repositories: +- Forks of your repository can potentially run dangerous code on your {% data variables.actions.hosted_runner %} by creating a pull request that executes the code in a workflow. +- You could incur unexpected costs if you allow forked repositories to run jobs on your {% data variables.actions.hosted_runner %}s. \ No newline at end of file diff --git a/data/reusables/actions/jobs/section-running-jobs-in-a-container.md b/data/reusables/actions/jobs/section-running-jobs-in-a-container.md index 7c9ff2e3fa..fc6f5e5404 100644 --- a/data/reusables/actions/jobs/section-running-jobs-in-a-container.md +++ b/data/reusables/actions/jobs/section-running-jobs-in-a-container.md @@ -2,6 +2,12 @@ Use `jobs..container` to create a container to run any steps in a job th If you do not set a `container`, all steps will run directly on the host specified by `runs-on` unless a step refers to an action configured to run in a container. +{% note %} + +**Note:** The default shell for `run` steps inside a container is `sh` instead of `bash`. This can be overridden with [`jobs..defaults.run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_iddefaultsrun) or [`jobs..steps[*].shell`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell). + +{% endnote %} + ### Example: Running a job within a container ```yaml{:copy} diff --git a/data/reusables/actions/moving-a-runner-to-a-group.md b/data/reusables/actions/moving-a-runner-to-a-group.md new file mode 100644 index 0000000000..9686c85aa3 --- /dev/null +++ b/data/reusables/actions/moving-a-runner-to-a-group.md @@ -0,0 +1,15 @@ +If you don't specify a runner group during the registration process, your new runners are automatically assigned to the default group, and can then be moved to another group. + +{% data reusables.actions.self-hosted-runner-navigate-to-org-enterprise %} +{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} +1. In the "Runners" list, click the runner that you want to configure. +2. Select the **Runner group** drop-down. +3. In "Move runner to group", choose a destination group for the runner. +{% elsif ghae or ghes < 3.4 %} +1. In the {% ifversion ghes or ghae %}"Runner groups"{% endif %} section of the settings page, locate the current group of the runner you want to move and expand the list of group members. + ![View runner group members](/assets/images/help/settings/actions-org-runner-group-members.png) +2. Select the checkbox next to the self-hosted runner, and then click **Move to group** to see the available destinations. + ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move.png) +3. To move the runner, click on the destination group. + ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move-destination.png) +{% endif %} \ No newline at end of file diff --git a/data/reusables/actions/removing-a-runner-group.md b/data/reusables/actions/removing-a-runner-group.md new file mode 100644 index 0000000000..1703d7e044 --- /dev/null +++ b/data/reusables/actions/removing-a-runner-group.md @@ -0,0 +1,9 @@ +Runners are automatically returned to the default group when their group is removed. + +{% ifversion ghes or ghae or ghec %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +1. In the list of groups, to the right of the group you want to delete, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. +2. To remove the group, click **Remove group**. +3. Review the confirmation prompts, and click **Remove this runner group**. Any runners still in this group will be automatically moved to the default group, where they will inherit the access permissions assigned to that group. + +{% endif %} \ No newline at end of file diff --git a/data/reusables/actions/runner-group-enterprise-overview.md b/data/reusables/actions/runner-group-enterprise-overview.md new file mode 100644 index 0000000000..516bccdefe --- /dev/null +++ b/data/reusables/actions/runner-group-enterprise-overview.md @@ -0,0 +1,3 @@ +Runner groups are used to control access to runners at the organization and enterprise level. Enterprise owners can configure access policies that control which organizations {% ifversion restrict-groups-to-workflows %}and workflows {% endif %}in an enterprise have access to the runner group. Organization owners can configure access policies that control which repositories{% ifversion restrict-groups-to-workflows %} and workflows{% endif %} in an organization have access to the runner group. + +When an enterprise owner grants access to a runner group, organization owners can see the runner group listed in the organization's runner settings. The organization owners can then assign additional granular repository{% ifversion restrict-groups-to-workflows %} and workflow{% endif %} access policies to the enterprise runner group. \ No newline at end of file diff --git a/data/reusables/actions/self-hosted-runner-groups-add-to-enterprise-first-steps.md b/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md similarity index 100% rename from data/reusables/actions/self-hosted-runner-groups-add-to-enterprise-first-steps.md rename to data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md diff --git a/data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md b/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md similarity index 89% rename from data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md rename to data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md index 4819bd92eb..b4680b1ee5 100644 --- a/data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md +++ b/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md @@ -1,9 +1,9 @@ {% ifversion fpt %} -1. Navigate to the main page of the repository or organization where your self-hosted runner groups are located. +1. Navigate to the main page of the repository or organization where your runner groups are located. 2. Click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. {% data reusables.organizations.settings-sidebar-actions-runner-groups %} {% elsif ghec or ghes or ghae %} -1. Navigate to where your self-hosted runner groups are located: +1. Navigate to where your runner groups are located: * **In an organization**: navigate to the main page and click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. * **If using an enterprise-level group**: diff --git a/data/reusables/actions/self-hosted-runner-add-to-enterprise.md b/data/reusables/actions/self-hosted-runner-add-to-enterprise.md index ac0187078c..d328def7f7 100644 --- a/data/reusables/actions/self-hosted-runner-add-to-enterprise.md +++ b/data/reusables/actions/self-hosted-runner-add-to-enterprise.md @@ -3,7 +3,7 @@ {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.actions-tab %} {% data reusables.enterprise-accounts.actions-runners-tab %} -1. Click **New runner**. +{% ifversion actions-hosted-runners %}1. Click **New runner**, then click **New self-hosted runner**.{% else %}1. Click **New runner**.{% endif %} {% data reusables.actions.self-hosted-runner-configure %} {%- elsif ghae or ghes < 3.4 %} To add a self-hosted runner to an enterprise, you must be an enterprise owner. diff --git a/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md b/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md index 589308b1e4..6c884cdb97 100644 --- a/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md +++ b/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md @@ -3,7 +3,7 @@ 2. Click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. {% data reusables.organizations.settings-sidebar-actions-runners %} {% elsif ghec or ghes or ghae %} -1. Navigate to where your self-hosted runner is registered: +1. Navigate to where your runner is registered: * **In an organization**: navigate to the main page and click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. * **If using an enterprise-level runner**: diff --git a/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md b/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md index 47a1613bb5..b43bfa22c6 100644 --- a/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md +++ b/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md @@ -3,7 +3,7 @@ 2. Click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. {% data reusables.organizations.settings-sidebar-actions-runners %} {% elsif ghec or ghes or ghae %} -1. Navigate to where your self-hosted runner is registered: +1. Navigate to where your runner is registered: * **In an organization or repository**: navigate to the main page and click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. * **If using an enterprise-level runner**: diff --git a/data/reusables/actions/self-hosted-runner-security-admonition.md b/data/reusables/actions/self-hosted-runner-security-admonition.md new file mode 100644 index 0000000000..3070a6394f --- /dev/null +++ b/data/reusables/actions/self-hosted-runner-security-admonition.md @@ -0,0 +1,7 @@ +{% warning %} + +**Warning**: {% data reusables.actions.self-hosted-runner-security %} + +For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." + +{% endwarning %} \ No newline at end of file diff --git a/data/reusables/actions/self-hosted-runner-security.md b/data/reusables/actions/self-hosted-runner-security.md index 0d4c1556b1..c90b1938d4 100644 --- a/data/reusables/actions/self-hosted-runner-security.md +++ b/data/reusables/actions/self-hosted-runner-security.md @@ -1 +1 @@ -We recommend that you only use self-hosted runners with private repositories. This is because forks of your repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that executes the code in a workflow. +We recommend that you only use self-hosted runners with private repositories. This is because forks of your public repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that executes the code in a workflow. \ No newline at end of file diff --git a/data/reusables/billing/billing-hosted-runners.md b/data/reusables/billing/billing-hosted-runners.md new file mode 100644 index 0000000000..6b04d05ac2 --- /dev/null +++ b/data/reusables/billing/billing-hosted-runners.md @@ -0,0 +1,9 @@ +| Linux | 4 | $0.016 | +| Linux | 8 | $0.032 | +| Linux | 16 | $0.064 | +| Linux | 32 | $0.128 | +| Linux | 64 | $0.256 | +| Windows | 8 | $0.064 | +| Windows | 16 | $0.128 | +| Windows | 32 | $0.256 | +| Windows | 64 | $0.512 | \ No newline at end of file diff --git a/data/reusables/billing/billing-standard-runners.md b/data/reusables/billing/billing-standard-runners.md new file mode 100644 index 0000000000..c3dc2b3ec3 --- /dev/null +++ b/data/reusables/billing/billing-standard-runners.md @@ -0,0 +1,5 @@ +| Operating system | Cores | Per-minute rate (USD) | +|------- | --------- | --------- | +| Linux | 2 | $0.008 | +| macOS | 3 | $0.08 | +| Windows | 2 | $0.016 | diff --git a/data/reusables/code-scanning/example-configuration-files.md b/data/reusables/code-scanning/example-configuration-files.md index f429bb12cf..a55b33e606 100644 --- a/data/reusables/code-scanning/example-configuration-files.md +++ b/data/reusables/code-scanning/example-configuration-files.md @@ -30,3 +30,22 @@ paths-ignore: - src/node_modules - '**/*.test.js' ``` + +{% ifversion code-scanning-exclude-queries-from-analysis %} + +The following configuration file only runs queries that generate alerts of severity error. The configuration first selects all the default queries, all queries in `./my-queries`, and the default suite in `codeql/java-queries`, then excludes all the queries that generate warnings or recommendations. + +``` yaml +queries: + - name: Use an in-repository QL pack (run queries in the my-queries directory) + uses: ./my-queries +packs: + - codeql/java-queries +query-filters: +- exclude: + problem.severity: + - warning + - recommendation +``` + +{% endif %} \ No newline at end of file diff --git a/data/reusables/code-scanning/run-additional-queries.md b/data/reusables/code-scanning/run-additional-queries.md index 3f25bd67d1..fddae57c62 100644 --- a/data/reusables/code-scanning/run-additional-queries.md +++ b/data/reusables/code-scanning/run-additional-queries.md @@ -1,5 +1,13 @@ When you use {% data variables.product.prodname_codeql %} to scan code, the {% data variables.product.prodname_codeql %} analysis engine generates a database from the code and runs queries on it. {% data variables.product.prodname_codeql %} analysis uses a default set of queries, but you can specify more queries to run, in addition to the default queries. +{% ifversion code-scanning-exclude-queries-from-analysis %} +{% tip %} + +You can also specify the queries you want to exclude from analysis, or include in the analysis. This requires the use of a custom configuration file. For more information, see "[Using a custom configuration file](#using-a-custom-configuration-file)" and "[Excluding specific queries from analysis](#excluding-specific-queries-from-analysis) " below. + +{% endtip %} +{% endif %} + {% ifversion codeql-packs %} You can run extra queries if they are part of a {% data variables.product.prodname_codeql %} pack (beta) published to the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %} or a {% data variables.product.prodname_ql %} pack stored in a repository. For more information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)." diff --git a/data/reusables/codespaces/codespaces-org-policies-note.md b/data/reusables/codespaces/codespaces-org-policies-note.md index 69e6530791..9060454948 100644 --- a/data/reusables/codespaces/codespaces-org-policies-note.md +++ b/data/reusables/codespaces/codespaces-org-policies-note.md @@ -1,5 +1,5 @@ {% note %} -**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. For information on how to choose who can create codespaces that are billed to your organization, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](https://docs-internal-29134-ad7bd8.preview.ghdocs.com/en/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." +**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. For information on how to choose who can create codespaces that are billed to your organization, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." {% endnote %} \ No newline at end of file diff --git a/data/reusables/codespaces/open-codespace-from-template-repo.md b/data/reusables/codespaces/open-codespace-from-template-repo.md new file mode 100644 index 0000000000..610c2f920d --- /dev/null +++ b/data/reusables/codespaces/open-codespace-from-template-repo.md @@ -0,0 +1,8 @@ +1. Select an owner for the new repository, enter a repository name, select your preferred privacy setting, and click **Create repository from template**. +1. On the main page of the newly created repository, click the **{% octicon "code" aria-label="The code icon" %} Code** button and select the **Codespaces** tab. + + ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) + + If you don’t see this tab, {% data variables.product.prodname_github_codespaces %} isn't available for you. For more information about access to {% data variables.product.prodname_github_codespaces %}, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces)." + +1. On the **Codespaces** tab, click **Create codespace on main**. diff --git a/data/reusables/codespaces/rebuild-command.md b/data/reusables/codespaces/rebuild-command.md index 09f44e08b1..5247bdfa0f 100644 --- a/data/reusables/codespaces/rebuild-command.md +++ b/data/reusables/codespaces/rebuild-command.md @@ -1,5 +1,3 @@ -1. Access the {% data variables.product.prodname_vscode_command_palette %} (Shift + Command + P / Ctrl + Shift + P), then start typing "rebuild". Select **Codespaces: Rebuild Container**. +1. Access the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "rebuild". Select **Codespaces: Rebuild Container**. ![Rebuild container option](/assets/images/help/codespaces/codespaces-rebuild.png) - - diff --git a/data/reusables/codespaces/remote-explorer.md b/data/reusables/codespaces/remote-explorer.md index c46ed9b539..545bdcf0c9 100644 --- a/data/reusables/codespaces/remote-explorer.md +++ b/data/reusables/codespaces/remote-explorer.md @@ -2,7 +2,7 @@ **Note**: If the Remote Explorer is not displayed in the Activity Bar: -1. Access the command palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). +1. Access the Command Palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). 1. Type: `codespaces`. 1. Click **Codespaces: Details**. diff --git a/data/reusables/dependabot/dependabot-alerts-filters.md b/data/reusables/dependabot/dependabot-alerts-filters.md index 31056c274f..016833a8bd 100644 --- a/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/data/reusables/dependabot/dependabot-alerts-filters.md @@ -2,7 +2,7 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %} | Option | Description | Example | |:---|:---|:---| -| `ecosystem` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 %} +| `ecosystem` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-7891 %} | `has` | Displays alerts meeting the selected filter criteria | Use `has:patch` to show alerts related to advisories that have a patch{% ifversion dependabot-alerts-vulnerable-calls %}
Use `has:vulnerable-calls` to show alerts relating to calls to vulnerable functions{% endif %} |{% endif %} | `is` | Displays alerts based on their state | Use `is:open` to show open alerts | | `manifest` | Displays alerts for the selected manifest | Use `manifest:webwolf/pom.xml` to show alerts on the pom.xml file of the webwolf application | diff --git a/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md b/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md index c5d6100063..d9e308eee9 100644 --- a/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md +++ b/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md @@ -1,4 +1,4 @@ -1. Define the key as a environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. +1. Define the key as an environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. ```bash{:copy} ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a | awk '{printf "%s\\n", $0}')" diff --git a/data/reusables/gated-features/hosted-runners.md b/data/reusables/gated-features/hosted-runners.md new file mode 100644 index 0000000000..4f1e2137bb --- /dev/null +++ b/data/reusables/gated-features/hosted-runners.md @@ -0,0 +1 @@ +The {% data variables.actions.hosted_runner %}s feature is currently in beta for organizations and enterprises using the {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %} plans, and is subject to change. \ No newline at end of file diff --git a/data/reusables/getting-started/bearer-vs-token.md b/data/reusables/getting-started/bearer-vs-token.md new file mode 100644 index 0000000000..9dd0b62ada --- /dev/null +++ b/data/reusables/getting-started/bearer-vs-token.md @@ -0,0 +1 @@ +In most cases, you can use `Authorization: Bearer` or `Authorization: token` to pass a token. However, if you are passing a JSON web token (JWT), you must use `Authorization: Bearer`. \ No newline at end of file diff --git a/data/reusables/gpg/copy-gpg-key-id.md b/data/reusables/gpg/copy-gpg-key-id.md index 944dd0f138..327fc59509 100644 --- a/data/reusables/gpg/copy-gpg-key-id.md +++ b/data/reusables/gpg/copy-gpg-key-id.md @@ -1,9 +1,9 @@ 1. From the list of GPG keys, copy the long form of the GPG key ID you'd like to use. In this example, the GPG key ID is `3AA5C34371567BD2`: - ```shell + ```shell{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10 - ``` + ``` diff --git a/data/reusables/gpg/list-keys-with-note.md b/data/reusables/gpg/list-keys-with-note.md index 3dfe6910ca..ed154975cb 100644 --- a/data/reusables/gpg/list-keys-with-note.md +++ b/data/reusables/gpg/list-keys-with-note.md @@ -1,10 +1,11 @@ - 1. Use the `gpg --list-secret-keys --keyid-format=long` command to list the long form of the GPG keys for which you have both a public and private key. A private key is required for signing commits or tags. - ```shell - $ gpg --list-secret-keys --keyid-format=long -``` - {% note %} - **Note:** Some GPG installations on Linux may require you to use `gpg2 --list-keys --keyid-format LONG` to view a list of your existing keys instead. In this case you will also need to configure Git to use `gpg2` by running `git config --global gpg.program gpg2`. + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + ``` + + {% note %} - {% endnote %} + **Note:** Some GPG installations on Linux may require you to use `gpg2 --list-keys --keyid-format LONG` to view a list of your existing keys instead. In this case you will also need to configure Git to use `gpg2` by running `git config --global gpg.program gpg2`. + + {% endnote %} diff --git a/data/reusables/identity-and-permissions/ipv6-allow-lists.md b/data/reusables/identity-and-permissions/ipv6-allow-lists.md new file mode 100644 index 0000000000..3c26491fe2 --- /dev/null +++ b/data/reusables/identity-and-permissions/ipv6-allow-lists.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec %} +{% note %} + +**Note:** {% data variables.product.company_short %} is gradually rolling out support for IPv6. As {% data variables.product.prodname_dotcom %} services continue to add IPv6 support, we will start recognizing IPv6 addresses of {% data variables.product.prodname_dotcom %} users. To prevent possible access interruptions, please ensure you have added any necessary IPv6 addresses to your IP allow list. + +{% endnote %} +{% endif %} \ No newline at end of file diff --git a/data/reusables/organizations/about-following-organizations.md b/data/reusables/organizations/about-following-organizations.md new file mode 100644 index 0000000000..52e52467fb --- /dev/null +++ b/data/reusables/organizations/about-following-organizations.md @@ -0,0 +1 @@ +When you follow organizations on {% data variables.product.product_name %}, you'll see their {% ifversion fpt or ghec %}public{% endif %} activity on your personal dashboard. This activity includes new discussions, sponsorships, and repositories. \ No newline at end of file diff --git a/data/reusables/organizations/follow-organizations-beta.md b/data/reusables/organizations/follow-organizations-beta.md new file mode 100644 index 0000000000..1730f73ccd --- /dev/null +++ b/data/reusables/organizations/follow-organizations-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to follow organizations is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/data/reusables/package_registry/authenticate-packages.md b/data/reusables/package_registry/authenticate-packages.md index a766f6e96d..5ca4e91584 100644 --- a/data/reusables/package_registry/authenticate-packages.md +++ b/data/reusables/package_registry/authenticate-packages.md @@ -4,4 +4,4 @@ You can use a personal access token (PAT) to authenticate to {% data variables.p To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: - `GITHUB_TOKEN` to publish packages associated with the workflow repository. -- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). +- a PAT with at least `packages:read` scope to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md b/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md deleted file mode 100644 index a54f9a0844..0000000000 --- a/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md +++ /dev/null @@ -1,11 +0,0 @@ -{% ifversion fpt or ghec or ghes > 3.4 %} - -To authenticate to the {% data variables.product.prodname_container_registry %} within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. If your workflow is using a personal access token (PAT) to authenticate to `{% data reusables.package_registry.container-registry-hostname %}`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. - -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to `{% data reusables.package_registry.container-registry-hostname %}` with a personal access token, see "[Upgrading a workflow that accesses `ghcr.io`](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio)."{% endif %} - -For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." - -If you're using the {% data variables.product.prodname_container_registry %} in actions, follow our security best practices at "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." - -{% endif %} diff --git a/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md new file mode 100644 index 0000000000..023e44c78c --- /dev/null +++ b/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -0,0 +1,7 @@ +If your workflow is using a personal access token (PAT) to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. + +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a personal access token, see "[Upgrading a workflow that accesses a registry using a PAT](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} + +For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." + +For more information about the best practises when using a registry in actions, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." diff --git a/data/reusables/package_registry/no-graphql-to-delete-packages.md b/data/reusables/package_registry/no-graphql-to-delete-packages.md new file mode 100644 index 0000000000..cbab609f2b --- /dev/null +++ b/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`, or npm images that use the package namespace `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} \ No newline at end of file diff --git a/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md b/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md index 67593664e7..04d9906902 100644 --- a/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md +++ b/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md @@ -1,16 +1,16 @@ -{% ifversion ghes > 3.1 or ghes < 3.5 %} +{% ifversion ghes < 3.5 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix for 3.5 and later will be available in an upcoming patch release. +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix is available in the [3.5.5](/enterprise-server@3.5/admin/release-notes#3.5.5) and [3.6.1](/enterprise-server@3.6/admin/release-notes#3.6.1) patch releases. -To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-16] +To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-09-01] -{% elsif ghes > 3.4 or ghes < 3.7 %} +{% elsif ghes = 3.5 or ghes = 3.6 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ currentVersion }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ allVersions[currentVersion].currentRelease }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). - To display the missing alerts for all repositories owned by an organization, organization owners can navigate to the organization's **Code security and analysis** settings, then click **Enable all** for secret scanning. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories)." - To display the missing alerts for an individual repository, people with admin access to the repository can disable then enable secret scanning for the repository. For more information, see "[Managing security and analysis settings for your repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)." -A fix will be available in an upcoming patch release. [Updated: 2022-08-16] +A fix is available in the {% ifversion ghes = 3.5 %}[3.5.5](/admin/release-notes#3.5.5){% elsif ghes = 3.6 %}[3.6.1](/admin/release-notes#3.6.1){% endif %} patch release. [Updated: 2022-09-01] {% endif %} diff --git a/data/variables/actions.yml b/data/variables/actions.yml index a7720841ca..5191ec655d 100644 --- a/data/variables/actions.yml +++ b/data/variables/actions.yml @@ -1 +1,2 @@ azure_portal: 'Azure Portal' +hosted_runner: 'larger runner' diff --git a/data/variables/product.yml b/data/variables/product.yml index b7beb0e583..90baf84430 100644 --- a/data/variables/product.yml +++ b/data/variables/product.yml @@ -139,6 +139,10 @@ prodname_registry: 'GitHub Packages' prodname_container_registry: 'Container registry' prodname_docker_registry_namespace: '{% ifversion fpt or ghec %}`docker.pkg.github.com`{% elsif ghes or ghae %}docker.HOSTNAME{% endif %}' prodname_container_registry_namespace: '{% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes or ghae %}containers.HOSTNAME{% endif %}' +prodname_npm_registry: 'npm registry' +prodname_ghcr_and_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_or_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} or {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_and_npm_registry_full: '{% data variables.product.prodname_container_registry %} (`ghcr.io`){% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %} (`npm.pkg.github.com`){% endif %}' # GitHub Insights prodname_insights: 'GitHub Insights' diff --git a/lib/enterprise-dates.json b/lib/enterprise-dates.json index 2b7116b577..a76b2e4a17 100644 --- a/lib/enterprise-dates.json +++ b/lib/enterprise-dates.json @@ -120,7 +120,7 @@ "deprecationDate": "2023-08-16" }, "3.7": { - "releaseDate": "2022-10-04", + "releaseDate": "2022-10-18", "deprecationDate": "2023-11-08" }, "3.8": { diff --git a/lib/graphql/static/changelog.json b/lib/graphql/static/changelog.json index d811cac959..c29ced1086 100644 --- a/lib/graphql/static/changelog.json +++ b/lib/graphql/static/changelog.json @@ -1,4 +1,38 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Type MergeCommitMessage was added

", + "

Type MergeCommitTitle was added

", + "

Type SquashMergeCommitMessage was added

", + "

Type SquashMergeCommitTitle was added

", + "

Field mergeCommitMessage was added to object type Repository

", + "

Field mergeCommitTitle was added to object type Repository

", + "

Field squashMergeCommitMessage was added to object type Repository

", + "

Field squashMergeCommitTitle was added to object type Repository

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2022-09-01" + }, + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Enum value GITHUB was removed from enum MigrationSourceType

", + "

Enum value GITLAB was removed from enum MigrationSourceType

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2022-08-26" + }, { "schemaChanges": [ { diff --git a/lib/graphql/static/schema-dotcom.json b/lib/graphql/static/schema-dotcom.json index ec6f4e93cb..5b78ba5963 100644 --- a/lib/graphql/static/schema-dotcom.json +++ b/lib/graphql/static/schema-dotcom.json @@ -55802,6 +55802,22 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "mergeCommitMessage", + "description": "

How the default commit message will be generated when merging a pull request.

", + "type": "MergeCommitMessage!", + "id": "mergecommitmessage", + "kind": "enums", + "href": "/graphql/reference/enums#mergecommitmessage" + }, + { + "name": "mergeCommitTitle", + "description": "

How the default commit title will be generated when merging a pull request.

", + "type": "MergeCommitTitle!", + "id": "mergecommittitle", + "kind": "enums", + "href": "/graphql/reference/enums#mergecommittitle" + }, { "name": "milestone", "description": "

Returns a single milestone from the current repository by number.

", @@ -56958,6 +56974,22 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "squashMergeCommitMessage", + "description": "

How the default commit message will be generated when squash merging a pull request.

", + "type": "SquashMergeCommitMessage!", + "id": "squashmergecommitmessage", + "kind": "enums", + "href": "/graphql/reference/enums#squashmergecommitmessage" + }, + { + "name": "squashMergeCommitTitle", + "description": "

How the default commit title will be generated when squash merging a pull request.

", + "type": "SquashMergeCommitTitle!", + "id": "squashmergecommittitle", + "kind": "enums", + "href": "/graphql/reference/enums#squashmergecommittitle" + }, { "name": "squashPrTitleUsedAsDefault", "description": "

Whether a squash merge commit can use the pull request title as default.

", @@ -74787,6 +74819,44 @@ } ] }, + { + "name": "MergeCommitMessage", + "kind": "enums", + "id": "mergecommitmessage", + "href": "/graphql/reference/enums#mergecommitmessage", + "description": "

The possible default commit messages for merges.

", + "values": [ + { + "name": "BLANK", + "description": "

Default to a blank commit message.

" + }, + { + "name": "PR_BODY", + "description": "

Default to the pull request's body.

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, + { + "name": "MergeCommitTitle", + "kind": "enums", + "id": "mergecommittitle", + "href": "/graphql/reference/enums#mergecommittitle", + "description": "

The possible default commit titles for merges.

", + "values": [ + { + "name": "MERGE_MESSAGE", + "description": "

Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, { "name": "MergeStateStatus", "kind": "enums", @@ -74864,17 +74934,9 @@ "name": "BITBUCKET_SERVER", "description": "

A Bitbucket Server migration source.

" }, - { - "name": "GITHUB", - "description": "

A GitHub migration source.

" - }, { "name": "GITHUB_ARCHIVE", "description": "

A GitHub Migration API source.

" - }, - { - "name": "GITLAB", - "description": "

A GitLab migration source.

" } ] }, @@ -77542,6 +77604,44 @@ } ] }, + { + "name": "SquashMergeCommitMessage", + "kind": "enums", + "id": "squashmergecommitmessage", + "href": "/graphql/reference/enums#squashmergecommitmessage", + "description": "

The possible default commit messages for squash merges.

", + "values": [ + { + "name": "BLANK", + "description": "

Default to a blank commit message.

" + }, + { + "name": "COMMIT_MESSAGES", + "description": "

Default to the branch's commit messages.

" + }, + { + "name": "PR_BODY", + "description": "

Default to the pull request's body.

" + } + ] + }, + { + "name": "SquashMergeCommitTitle", + "kind": "enums", + "id": "squashmergecommittitle", + "href": "/graphql/reference/enums#squashmergecommittitle", + "description": "

The possible default commit titles for squash merges.

", + "values": [ + { + "name": "COMMIT_OR_PR_TITLE", + "description": "

Default to the commit's title (if only one commit) or the pull request's title (when more than one commit).

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, { "name": "StarOrderField", "kind": "enums", diff --git a/lib/graphql/static/schema-ghae.json b/lib/graphql/static/schema-ghae.json index 529c868fe0..cf48193505 100644 --- a/lib/graphql/static/schema-ghae.json +++ b/lib/graphql/static/schema-ghae.json @@ -46043,6 +46043,22 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "mergeCommitMessage", + "description": "

How the default commit message will be generated when merging a pull request.

", + "type": "MergeCommitMessage!", + "id": "mergecommitmessage", + "kind": "enums", + "href": "/graphql/reference/enums#mergecommitmessage" + }, + { + "name": "mergeCommitTitle", + "description": "

How the default commit title will be generated when merging a pull request.

", + "type": "MergeCommitTitle!", + "id": "mergecommittitle", + "kind": "enums", + "href": "/graphql/reference/enums#mergecommittitle" + }, { "name": "milestone", "description": "

Returns a single milestone from the current repository by number.

", @@ -46874,6 +46890,22 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "squashMergeCommitMessage", + "description": "

How the default commit message will be generated when squash merging a pull request.

", + "type": "SquashMergeCommitMessage!", + "id": "squashmergecommitmessage", + "kind": "enums", + "href": "/graphql/reference/enums#squashmergecommitmessage" + }, + { + "name": "squashMergeCommitTitle", + "description": "

How the default commit title will be generated when squash merging a pull request.

", + "type": "SquashMergeCommitTitle!", + "id": "squashmergecommittitle", + "kind": "enums", + "href": "/graphql/reference/enums#squashmergecommittitle" + }, { "name": "squashPrTitleUsedAsDefault", "description": "

Whether a squash merge commit can use the pull request title as default.

", @@ -61294,6 +61326,44 @@ } ] }, + { + "name": "MergeCommitMessage", + "kind": "enums", + "id": "mergecommitmessage", + "href": "/graphql/reference/enums#mergecommitmessage", + "description": "

The possible default commit messages for merges.

", + "values": [ + { + "name": "BLANK", + "description": "

Default to a blank commit message.

" + }, + { + "name": "PR_BODY", + "description": "

Default to the pull request's body.

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, + { + "name": "MergeCommitTitle", + "kind": "enums", + "id": "mergecommittitle", + "href": "/graphql/reference/enums#mergecommittitle", + "description": "

The possible default commit titles for merges.

", + "values": [ + { + "name": "MERGE_MESSAGE", + "description": "

Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, { "name": "MergeStateStatus", "kind": "enums", @@ -61371,17 +61441,9 @@ "name": "BITBUCKET_SERVER", "description": "

A Bitbucket Server migration source.

" }, - { - "name": "GITHUB", - "description": "

A GitHub migration source.

" - }, { "name": "GITHUB_ARCHIVE", "description": "

A GitHub Migration API source.

" - }, - { - "name": "GITLAB", - "description": "

A GitLab migration source.

" } ] }, @@ -63311,6 +63373,44 @@ } ] }, + { + "name": "SquashMergeCommitMessage", + "kind": "enums", + "id": "squashmergecommitmessage", + "href": "/graphql/reference/enums#squashmergecommitmessage", + "description": "

The possible default commit messages for squash merges.

", + "values": [ + { + "name": "BLANK", + "description": "

Default to a blank commit message.

" + }, + { + "name": "COMMIT_MESSAGES", + "description": "

Default to the branch's commit messages.

" + }, + { + "name": "PR_BODY", + "description": "

Default to the pull request's body.

" + } + ] + }, + { + "name": "SquashMergeCommitTitle", + "kind": "enums", + "id": "squashmergecommittitle", + "href": "/graphql/reference/enums#squashmergecommittitle", + "description": "

The possible default commit titles for squash merges.

", + "values": [ + { + "name": "COMMIT_OR_PR_TITLE", + "description": "

Default to the commit's title (if only one commit) or the pull request's title (when more than one commit).

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, { "name": "StarOrderField", "kind": "enums", diff --git a/lib/graphql/static/schema-ghec.json b/lib/graphql/static/schema-ghec.json index ec6f4e93cb..5b78ba5963 100644 --- a/lib/graphql/static/schema-ghec.json +++ b/lib/graphql/static/schema-ghec.json @@ -55802,6 +55802,22 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "mergeCommitMessage", + "description": "

How the default commit message will be generated when merging a pull request.

", + "type": "MergeCommitMessage!", + "id": "mergecommitmessage", + "kind": "enums", + "href": "/graphql/reference/enums#mergecommitmessage" + }, + { + "name": "mergeCommitTitle", + "description": "

How the default commit title will be generated when merging a pull request.

", + "type": "MergeCommitTitle!", + "id": "mergecommittitle", + "kind": "enums", + "href": "/graphql/reference/enums#mergecommittitle" + }, { "name": "milestone", "description": "

Returns a single milestone from the current repository by number.

", @@ -56958,6 +56974,22 @@ "kind": "scalars", "href": "/graphql/reference/scalars#boolean" }, + { + "name": "squashMergeCommitMessage", + "description": "

How the default commit message will be generated when squash merging a pull request.

", + "type": "SquashMergeCommitMessage!", + "id": "squashmergecommitmessage", + "kind": "enums", + "href": "/graphql/reference/enums#squashmergecommitmessage" + }, + { + "name": "squashMergeCommitTitle", + "description": "

How the default commit title will be generated when squash merging a pull request.

", + "type": "SquashMergeCommitTitle!", + "id": "squashmergecommittitle", + "kind": "enums", + "href": "/graphql/reference/enums#squashmergecommittitle" + }, { "name": "squashPrTitleUsedAsDefault", "description": "

Whether a squash merge commit can use the pull request title as default.

", @@ -74787,6 +74819,44 @@ } ] }, + { + "name": "MergeCommitMessage", + "kind": "enums", + "id": "mergecommitmessage", + "href": "/graphql/reference/enums#mergecommitmessage", + "description": "

The possible default commit messages for merges.

", + "values": [ + { + "name": "BLANK", + "description": "

Default to a blank commit message.

" + }, + { + "name": "PR_BODY", + "description": "

Default to the pull request's body.

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, + { + "name": "MergeCommitTitle", + "kind": "enums", + "id": "mergecommittitle", + "href": "/graphql/reference/enums#mergecommittitle", + "description": "

The possible default commit titles for merges.

", + "values": [ + { + "name": "MERGE_MESSAGE", + "description": "

Default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, { "name": "MergeStateStatus", "kind": "enums", @@ -74864,17 +74934,9 @@ "name": "BITBUCKET_SERVER", "description": "

A Bitbucket Server migration source.

" }, - { - "name": "GITHUB", - "description": "

A GitHub migration source.

" - }, { "name": "GITHUB_ARCHIVE", "description": "

A GitHub Migration API source.

" - }, - { - "name": "GITLAB", - "description": "

A GitLab migration source.

" } ] }, @@ -77542,6 +77604,44 @@ } ] }, + { + "name": "SquashMergeCommitMessage", + "kind": "enums", + "id": "squashmergecommitmessage", + "href": "/graphql/reference/enums#squashmergecommitmessage", + "description": "

The possible default commit messages for squash merges.

", + "values": [ + { + "name": "BLANK", + "description": "

Default to a blank commit message.

" + }, + { + "name": "COMMIT_MESSAGES", + "description": "

Default to the branch's commit messages.

" + }, + { + "name": "PR_BODY", + "description": "

Default to the pull request's body.

" + } + ] + }, + { + "name": "SquashMergeCommitTitle", + "kind": "enums", + "id": "squashmergecommittitle", + "href": "/graphql/reference/enums#squashmergecommittitle", + "description": "

The possible default commit titles for squash merges.

", + "values": [ + { + "name": "COMMIT_OR_PR_TITLE", + "description": "

Default to the commit's title (if only one commit) or the pull request's title (when more than one commit).

" + }, + { + "name": "PR_TITLE", + "description": "

Default to the pull request's title.

" + } + ] + }, { "name": "StarOrderField", "kind": "enums", diff --git a/lib/redirects/static/client-side-rest-api-redirects.json b/lib/redirects/static/client-side-rest-api-redirects.json index 025fa5f461..9b9d657ec9 100644 --- a/lib/redirects/static/client-side-rest-api-redirects.json +++ b/lib/redirects/static/client-side-rest-api-redirects.json @@ -446,6 +446,8 @@ "/rest/teams#list-idp-groups-for-a-team": "/rest/teams/team-sync#list-idp-groups-for-a-team", "/rest/teams#create-or-update-idp-group-connections": "/rest/teams/team-sync#create-or-update-idp-group-connections", "/rest/teams#list-child-teams": "/rest/teams/teams#list-child-teams", + "/rest/orgs#enable-or-disable-security-product-on-all-org-repos": "/rest/orgs/orgs#enable-or-disable-security-product-on-all-org-repos", + "/rest/orgs#orgs": "/rest/orgs/orgs", "/rest/projects#get-a-project-card": "/rest/projects/cards#get-a-project-card", "/rest/projects#cards": "/rest/projects/cards", "/rest/projects#update-a-project-card": "/rest/projects/cards#update-a-project-card", @@ -919,6 +921,11 @@ "/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user": "/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user", "/rest/collaborators/invitations#accept-a-repository-invitation": "/rest/collaborators/invitations#accept-a-repository-invitation", "/rest/collaborators/invitations#decline-a-repository-invitation": "/rest/collaborators/invitations#decline-a-repository-invitation", + "/rest/users#list-public-ssh-signing-keys-for-the-authenticated-user": "/rest/users/ssh-signing-keys#list-public-ssh-signing-keys-for-the-authenticated-user", + "/rest/users#ssh-signing-keys": "/rest/users/ssh-signing-keys", + "/rest/users#create-an-ssh-signing-key-for-the-authenticated-user": "/rest/users/ssh-signing-keys#create-an-ssh-signing-key-for-the-authenticated-user", + "/rest/users#get-a-ssh-signing-key-for-the-authenticated-user": "/rest/users/ssh-signing-keys#get-a-ssh-signing-key-for-the-authenticated-user", + "/rest/users#delete-a-ssh-signing-key-for-the-authenticated-user": "/rest/users/ssh-signing-keys#delete-a-ssh-signing-key-for-the-authenticated-user", "/rest/activity#list-repositories-starred-by-the-authenticated-user": "/rest/activity/starring#list-repositories-starred-by-the-authenticated-user", "/rest/activity#check-if-a-repository-is-starred-by-the-authenticated-user": "/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user", "/rest/activity#star-a-repository-for-the-authenticated-user": "/rest/activity/starring#star-a-repository-for-the-authenticated-user", @@ -943,6 +950,7 @@ "/rest/activity#list-events-received-by-the-authenticated-user": "/rest/activity/events#list-events-received-by-the-authenticated-user", "/rest/activity#list-public-events-received-by-a-user": "/rest/activity/events#list-public-events-received-by-a-user", "/rest/repos#list-repositories-for-a-user": "/rest/repos/repos#list-repositories-for-a-user", + "/rest/users#list-ssh-signing-keys-for-a-user": "/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user", "/rest/activity#list-repositories-starred-by-a-user": "/rest/activity/starring#list-repositories-starred-by-a-user", "/rest/activity#list-repositories-watched-by-a-user": "/rest/activity/watching#list-repositories-watched-by-a-user", "/rest/enterprise-admin#list-global-webhooks": "/rest/enterprise-admin/global-webhooks#list-global-webhooks", diff --git a/lib/redis/create-client.js b/lib/redis/create-client.js deleted file mode 100644 index 5783661262..0000000000 --- a/lib/redis/create-client.js +++ /dev/null @@ -1,171 +0,0 @@ -import Redis from 'redis' - -const { REDIS_MIN_DB, REDIS_MAX_DB } = process.env - -// By default, every Redis instance supports database numbers 0 - 15 -const redisMinDb = REDIS_MIN_DB || 0 -const redisMaxDb = REDIS_MAX_DB || 15 - -// Maximum delay between reconnection attempts after backoff -const maxReconnectDelay = 5000 - -function formatRedisError(error) { - const errorCode = error ? error.code : null - const errorName = error ? error.constructor.name : 'Server disconnection' - const errorMsg = error ? error.toString() : 'unknown (commonly a server idle timeout)' - const preamble = errorName + (errorCode ? ` with code "${errorCode}"` : '') - return preamble + ': ' + errorMsg -} - -export default function createClient(options = {}) { - const { db, name, url } = options - - // If no Redis URL is provided, bail out - // NOTE: Could support other options like `host`, `port`, and `path` but - // choosing not to for the time being! - if (!url) return null - - // Verify database number is within range - if (db != null) { - if (!Number.isInteger(db) || db < redisMinDb || db > redisMaxDb) { - throw new TypeError( - `Redis database number must be an integer between ${redisMinDb} and ${redisMaxDb} but was: ${JSON.stringify( - db - )}` - ) - } - } - - let pingInterval = null - function stopPinging() { - if (pingInterval) { - clearInterval(pingInterval) - pingInterval = null - } - } - - // Create the client - const client = Redis.createClient(url, { - // Only add this configuration for TLS-enabled Redis URL values. - // Otherwise, it breaks for local Redis instances without TLS enabled. - ...(url.startsWith('rediss://') && { - tls: { - // Required for production Heroku Redis - rejectUnauthorized: false, - }, - }), - - // Any running command that is unfulfilled when a connection is lost should - // NOT be retried after the connection has been reestablished. - retry_unfulfilled_commands: false, - - // If we failed to send a new command during a disconnection, do NOT - // enqueue it to send later after the connection has been [re-]established. - // This is also critical to preventing a backend pile-up! - enable_offline_queue: false, - - // This timeout value will be applied to both the initial connection - // and any auto-reconnect attempts (if the `retry_strategy` option is - // provided). If not using the `retry_strategy` option, this value can be - // set to a very low number. If using the `retry_strategy` option to allow - // more than one reconnection attempt, this value must be set to a higher - // number. Defaults to 1 hour if not configured! - connect_timeout: 60 * 60 * 1000, // 60 minutes - - // Be aware that this retry (NOT just reconnection) strategy appears to - // be a major point of confusion (and possibly legitimate issues) between - // reconnecting and retrying failed commands. - retry_strategy: function ({ - attempt, - error, - total_retry_time: totalRetryTime, - times_connected: timesConnected, - }) { - let delayPerAttempt = 100 - - // If the server appears to be unavailable, slow down faster - if (error && error.code === 'ECONNREFUSED') { - delayPerAttempt *= 5 - } - - // Reconnect after delay - return Math.min(attempt * delayPerAttempt, maxReconnectDelay) - }, - - // Expand whatever other options and overrides were provided - ...options, - }) - - // Handle connection errors to prevent killing the Node.js process - client.on('error', (connectError) => { - try { - // Forcibly close the connection to the Redis server. - // Allow all still running commands to silently fail immediately. - client.end(false) - } catch (disconnectError) { - // Swallow any failure - } - - // Also, stop pinging the Redis server - stopPinging() - }) - - client.on('connect', () => { - // Stop pinging the Redis server, if any such timer already exists - stopPinging() - - // Start pinging the server once per minute to prevent Redis connection - // from closing when its idle `timeout` configuration value expires - pingInterval = setInterval(() => { - client.ping(() => {}) - }, 60 * 1000) - }) - - client.on('end', () => { - // Stop pinging the Redis server - stopPinging() - }) - - // If a `name` was provided, use it in the prefix for logging event messages - const logPrefix = '[redis' + (name ? ` (${name})` : '') + ']' - - // Add event listeners for basic logging - client.on('connect', () => { - console.log(logPrefix, 'Connection opened') - }) - client.on('ready', () => { - console.log(logPrefix, 'Ready to receive commands') - }) - client.on('end', () => { - console.log(logPrefix, 'Connection closed') - }) - client.on( - 'reconnecting', - ({ - attempt, - delay, - // The rest are unofficial properties but currently supported - error, - total_retry_time: totalRetryTime, - times_connected: timesConnected, - }) => { - console.log( - logPrefix, - 'Reconnecting,', - `attempt ${attempt}`, - `with ${delay} delay`, - `due to ${formatRedisError(error)}.`, - `Elapsed time: ${totalRetryTime}.`, - `Successful connections: ${timesConnected}.` - ) - } - ) - client.on('warning', (msg) => { - console.warn(logPrefix, 'Warning:', msg) - }) - client.on('error', (error) => { - console.error(logPrefix, formatRedisError(error)) - }) - - return client -} diff --git a/lib/rest/static/apps/enabled-for-apps.json b/lib/rest/static/apps/enabled-for-apps.json index 9929f2596f..743ae27ca2 100644 --- a/lib/rest/static/apps/enabled-for-apps.json +++ b/lib/rest/static/apps/enabled-for-apps.json @@ -2454,6 +2454,12 @@ "verb": "delete", "requestPath": "/orgs/{org}/security-managers/teams/{team_slug}" }, + { + "slug": "enable-or-disable-a-security-feature-for-an-organization", + "subcategory": "orgs", + "verb": "post", + "requestPath": "/orgs/{org}/{security_product}/{enablement}" + }, { "slug": "list-organizations-for-a-user", "subcategory": "orgs", @@ -3798,6 +3804,12 @@ "subcategory": "keys", "verb": "get", "requestPath": "/users/{username}/keys" + }, + { + "slug": "list-ssh-signing-keys-for-a-user", + "subcategory": "ssh-signing-keys", + "verb": "get", + "requestPath": "/users/{username}/ssh_signing_keys" } ], "webhooks": [ diff --git a/lib/rest/static/decorated/api.github.com.json b/lib/rest/static/decorated/api.github.com.json index 33336ab930..aa7a3c81fc 100644 --- a/lib/rest/static/decorated/api.github.com.json +++ b/lib/rest/static/decorated/api.github.com.json @@ -113949,14 +113949,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -114101,6 +114093,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -114878,14 +114878,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -115030,6 +115022,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -115500,15 +115500,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -115671,6 +115662,15 @@ "write" ] }, + { + "type": "string", + "name": "organization_custom_roles", + "description": "

The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.

", + "enum": [ + "read", + "write" + ] + }, { "type": "string", "name": "organization_hooks", @@ -115951,14 +115951,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -116103,6 +116095,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -118661,14 +118661,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -118813,6 +118805,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -119594,14 +119594,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -119746,6 +119738,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -120525,14 +120525,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -120677,6 +120669,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -123219,14 +123219,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -123371,6 +123363,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -128773,14 +128773,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -128925,6 +128917,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -129644,14 +129644,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -129796,6 +129788,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -130283,15 +130283,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -130454,6 +130445,15 @@ "write" ] }, + { + "type": "string", + "name": "organization_custom_roles", + "description": "

The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.

", + "enum": [ + "read", + "write" + ] + }, { "type": "string", "name": "organization_hooks", @@ -130923,14 +130923,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -131075,6 +131067,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -135001,7 +135001,2775 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string" + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts", + "checks" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "bypass_pull_request_allowances": { + "type": "object", + "description": "Allow specific users, teams, or apps to bypass pull request requirements.", + "properties": { + "users": { + "description": "The list of users allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 0, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -141330,7 +144098,2001 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string", + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts", + "checks" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + }, + "bypass_pull_request_allowances": { + "type": "object", + "properties": { + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -145875,7 +150637,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -145885,8 +150647,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -145973,7 +150741,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -145983,8 +150751,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -146066,7 +150839,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -146076,8 +150849,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -148771,7 +153549,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -148781,8 +153559,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -149070,7 +153853,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -149080,8 +153863,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -149369,7 +154157,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -149379,8 +154167,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -149925,7 +154718,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -149935,8 +154728,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -150191,7 +154989,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -150201,8 +154999,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -150457,7 +155260,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -150467,8 +155270,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -179010,6 +183818,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -179250,6 +184059,33 @@ "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53" ] } + }, + { + "name": "direction", + "description": "

The direction to sort the results by.

", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + } + }, + { + "name": "sort", + "description": "

The property by which to sort the results.

", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "created" + ], + "default": "created" + } } ], "bodyParameters": [], @@ -179861,7 +184697,7 @@ "description": "

Service unavailable

" } ], - "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • analysis_key
  • \n
  • environment
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", + "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • category
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", "subcategory": "code-scanning" }, { @@ -183567,6 +188403,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -186747,6 +191593,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -189807,6 +194663,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -193421,6 +198287,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -196482,6 +201358,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -199897,6 +204783,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -203087,6 +207983,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -206144,6 +211050,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -209245,6 +214161,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -212373,6 +217299,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -215821,6 +220757,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -218938,6 +223884,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -222743,6 +227699,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -225956,6 +230922,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -236161,8 +241137,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -289702,8 +294681,12 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "limit": "collaborators_only", + "expiry": "one_day" + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -297394,7 +302377,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -300751,7 +305735,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -304072,7 +309057,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -307245,6 +312231,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -307449,7 +312441,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -314779,7 +319772,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -318094,7 +323088,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -325303,7 +330298,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -330247,7 +335243,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -386927,6 +391924,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -387130,6 +392169,42 @@ "name": "blog", "in": "body", "description": "" + }, + { + "type": "boolean", + "name": "advanced_security_enabled_for_new_repositories", + "in": "body", + "description": "

Whether GitHub Advanced Security is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "dependabot_alerts_enabled_for_new_repositories", + "in": "body", + "description": "

Whether Dependabot alerts is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "dependabot_security_updates_enabled_for_new_repositories", + "in": "body", + "description": "

Whether Dependabot security updates is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "dependency_graph_enabled_for_new_repositories", + "in": "body", + "description": "

Whether dependency graph is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "secret_scanning_enabled_for_new_repositories", + "in": "body", + "description": "

Whether secret scanning is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "secret_scanning_push_protection_enabled_for_new_repositories", + "in": "body", + "description": "

Whether secret scanning push protection is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" } ], "enabledForGitHubApps": true, @@ -387558,6 +392633,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -388651,14 +393768,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -388803,6 +393912,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -389141,6 +394258,87 @@ ], "subcategory": "orgs" }, + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/orgs/{org}/{security_product}/{enablement}", + "title": "Enable or disable a security feature for an organization", + "category": "orgs", + "subcategory": "orgs", + "parameters": [ + { + "name": "org", + "description": "

The organization name. The name is not case sensitive.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "security_product", + "in": "path", + "description": "

The security feature to enable or disable.

", + "required": true, + "schema": { + "type": "string", + "enum": [ + "dependency_graph", + "dependabot_alerts", + "dependabot_security_updates", + "advanced_security", + "secret_scanning", + "secret_scanning_push_protection" + ] + } + }, + { + "name": "enablement", + "in": "path", + "description": "

The action to take.

\n

enable_all means to enable the specified security feature for all repositories in the organization.\ndisable_all means to disable the specified security feature for all repositories in the organization.

", + "required": true, + "schema": { + "type": "string", + "enum": [ + "enable_all", + "disable_all" + ] + } + } + ], + "bodyParameters": [], + "enabledForGitHubApps": true, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "org": "ORG", + "security_product": "SECURITY_PRODUCT", + "enablement": "ENABLEMENT" + } + }, + "response": { + "statusCode": "204", + "description": "

Action started

" + } + } + ], + "previews": [], + "descriptionHTML": "

Enables or disables the specified security feature for all repositories in an organization.

\n

To use this endpoint, you must be an organization owner or be member of a team with the security manager role.\nA token with the 'write:org' scope is also required.

\n

GitHub Apps must have the organization_administration:write permission to use this endpoint.

\n

For more information, see \"Managing security managers in your organization.\"

", + "statusCodes": [ + { + "httpStatusCode": "204", + "description": "

Action started

" + }, + { + "httpStatusCode": "422", + "description": "

The action could not be taken due to an in progress enablement, or a policy is preventing enablement

" + } + ] + }, { "serverUrl": "https://api.github.com", "verb": "get", @@ -389999,7 +395197,7 @@ } ], "previews": [], - "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", + "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with admin:org repo scope.\nGitHub Apps must have the organization_custom_roles:read organization permission to use this endpoint.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", "statusCodes": [ { "httpStatusCode": "200", @@ -391661,10 +396859,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -499892,7 +505086,7 @@ } ], "previews": [], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -508280,14 +513474,18 @@ ] }, "is_alphanumeric": { - "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters.", - "type": "boolean" + "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.", + "type": "boolean", + "examples": [ + true + ] } }, "required": [ "id", "key_prefix", - "url_template" + "url_template", + "is_alphanumeric" ] } } @@ -508335,15 +513533,22 @@ "type": "string", "name": "key_prefix", "in": "body", - "description": "

The prefix appended by alphanumeric characters will generate a link any time it is found in an issue, pull request, or commit.

", + "description": "

This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit.

", "isRequired": true }, { "type": "string", "name": "url_template", "in": "body", - "description": "

The URL must contain <num> for the reference number. <num> matches alphanumeric characters A-Z (case insensitive), 0-9, and -.

", + "description": "

The URL must contain <num> for the reference number. <num> matches different characters depending on the value of is_alphanumeric.

", "isRequired": true + }, + { + "type": "boolean", + "name": "is_alphanumeric", + "in": "body", + "description": "

Whether this autolink reference matches alphanumeric characters. If true, the <num> parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters.

", + "default": "true" } ], "enabledForGitHubApps": true, @@ -508356,7 +513561,8 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true }, "parameters": { "owner": "OWNER", @@ -508399,14 +513605,18 @@ ] }, "is_alphanumeric": { - "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters.", - "type": "boolean" + "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.", + "type": "boolean", + "examples": [ + true + ] } }, "required": [ "id", "key_prefix", - "url_template" + "url_template", + "is_alphanumeric" ] } } @@ -508511,14 +513721,18 @@ ] }, "is_alphanumeric": { - "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters.", - "type": "boolean" + "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.", + "type": "boolean", + "examples": [ + true + ] } }, "required": [ "id", "key_prefix", - "url_template" + "url_template", + "is_alphanumeric" ] } } @@ -514405,6 +519619,12 @@ "name": "name", "in": "body", "description": "

When forking from an existing repository, a new name for the fork.

" + }, + { + "type": "boolean", + "name": "default_branch_only", + "in": "body", + "description": "

When forking from an existing repository, fork with only the default branch.

" } ], "enabledForGitHubApps": true, @@ -528847,7 +534067,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, @@ -575352,6 +580573,487 @@ } ] } + ], + "ssh-signing-keys": [ + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/user/ssh_signing_keys", + "title": "List SSH signing keys for the authenticated user", + "category": "users", + "subcategory": "ssh-signing-keys", + "parameters": [ + { + "name": "per_page", + "description": "

The number of results per page (max 100).

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

Page number of the results to fetch.

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "enabledForGitHubApps": false, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json" + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Response

", + "example": [ + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + }, + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", + "id": 3, + "url": "https://api.github.com/user/keys/3", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", + "created_at": "2020-07-11T21:31:57Z" + } + ], + "schema": { + "type": "array", + "items": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "

Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least read:ssh_signing_key scope. For more information, see \"Understanding scopes for OAuth apps.\"

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + }, + { + "httpStatusCode": "304", + "description": "

Not modified

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/user/ssh_signing_keys", + "title": "Create a SSH signing key for the authenticated user", + "category": "users", + "subcategory": "ssh-signing-keys", + "parameters": [], + "bodyParameters": [ + { + "type": "string", + "name": "title", + "in": "body", + "description": "

A descriptive name for the new key.

" + }, + { + "type": "string", + "name": "key", + "in": "body", + "description": "

The public SSH key to add to your GitHub account. For more information, see \"Checking for existing SSH keys.\"

", + "isRequired": true + } + ], + "enabledForGitHubApps": false, + "codeExamples": [ + { + "key": "default", + "request": { + "contentType": "application/json", + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json" + }, + "response": { + "statusCode": "201", + "contentType": "application/json", + "description": "

Response

", + "example": { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + }, + "schema": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + } + } + } + ], + "previews": [], + "descriptionHTML": "

Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least write:ssh_signing_key scope. For more information, see \"Understanding scopes for OAuth apps.\"

", + "statusCodes": [ + { + "httpStatusCode": "201", + "description": "

Created

" + }, + { + "httpStatusCode": "304", + "description": "

Not modified

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "422", + "description": "

Validation failed

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/user/ssh_signing_keys/{ssh_signing_key_id}", + "title": "Get an SSH signing key for the authenticated user", + "category": "users", + "subcategory": "ssh-signing-keys", + "parameters": [ + { + "name": "ssh_signing_key_id", + "description": "

The unique identifier of the SSH signing key.

", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "bodyParameters": [], + "enabledForGitHubApps": false, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "ssh_signing_key_id": "SSH_SIGNING_KEY_ID" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Response

", + "example": { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + }, + "schema": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + } + } + } + ], + "previews": [], + "descriptionHTML": "

Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least read:ssh_signing_key scope. For more information, see \"Understanding scopes for OAuth apps.\"

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + }, + { + "httpStatusCode": "304", + "description": "

Not modified

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "delete", + "requestPath": "/user/ssh_signing_keys/{ssh_signing_key_id}", + "title": "Delete an SSH signing key for the authenticated user", + "category": "users", + "subcategory": "ssh-signing-keys", + "parameters": [ + { + "name": "ssh_signing_key_id", + "description": "

The unique identifier of the SSH signing key.

", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "bodyParameters": [], + "enabledForGitHubApps": false, + "codeExamples": [ + { + "key": "204", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "ssh_signing_key_id": "SSH_SIGNING_KEY_ID" + } + }, + "response": { + "statusCode": "204", + "description": "

Response

" + } + } + ], + "previews": [], + "descriptionHTML": "

Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least admin:ssh_signing_key scope. For more information, see \"Understanding scopes for OAuth apps.\"

", + "statusCodes": [ + { + "httpStatusCode": "204", + "description": "

No Content

" + }, + { + "httpStatusCode": "304", + "description": "

Not modified

" + }, + { + "httpStatusCode": "401", + "description": "

Requires authentication

" + }, + { + "httpStatusCode": "403", + "description": "

Forbidden

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + } + ] + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/users/{username}/ssh_signing_keys", + "title": "List SSH signing keys for a user", + "category": "users", + "subcategory": "ssh-signing-keys", + "parameters": [ + { + "name": "username", + "description": "

The handle for the GitHub user account.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100).

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

Page number of the results to fetch.

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "enabledForGitHubApps": true, + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "username": "USERNAME" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Response

", + "example": [ + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + }, + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", + "id": 3, + "url": "https://api.github.com/user/keys/3", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", + "created_at": "2020-07-11T21:31:57Z" + } + ], + "schema": { + "type": "array", + "items": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + } + } + } + } + ], + "previews": [], + "descriptionHTML": "

Lists the SSH signing keys for a user. This operation is accessible by anyone.

", + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

OK

" + } + ] + } ] }, "webhooks": { diff --git a/lib/rest/static/decorated/ghes-3.2.json b/lib/rest/static/decorated/ghes-3.2.json index 6b31a9783b..e09e1532e4 100644 --- a/lib/rest/static/decorated/ghes-3.2.json +++ b/lib/rest/static/decorated/ghes-3.2.json @@ -98536,14 +98536,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -99473,14 +99465,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -100103,15 +100087,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -100563,14 +100538,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -103189,14 +103156,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -104130,14 +104089,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -105069,14 +105020,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -107836,14 +107779,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -110600,14 +110535,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -111479,14 +111406,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -112126,15 +112045,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -112775,14 +112685,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -113665,14 +113567,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -114540,14 +114434,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -117204,7 +117090,2049 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -121965,7 +123893,1272 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -125022,7 +128215,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -125032,8 +128225,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -125120,7 +128319,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -125130,8 +128329,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -125213,7 +128417,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -125223,8 +128427,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -127918,7 +131127,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -127928,8 +131137,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -128217,7 +131431,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -128227,8 +131441,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -128516,7 +131735,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -128526,8 +131745,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129072,7 +132296,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -129082,8 +132306,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129338,7 +132567,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -129348,8 +132577,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129604,7 +132838,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -129614,8 +132848,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -162139,8 +165378,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -199790,14 +203032,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -201028,14 +204262,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -201831,14 +205057,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -223708,7 +226926,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -226976,7 +230195,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -230205,7 +233425,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -233288,6 +236509,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -233492,7 +236719,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -240641,7 +243869,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -243864,7 +247093,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -250988,7 +254218,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -255842,7 +259073,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -292855,14 +296087,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -293739,14 +296963,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -294638,14 +297854,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -295449,14 +298657,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -296352,14 +299552,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -297164,14 +300356,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -298005,14 +301189,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -298888,14 +302064,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -301134,14 +304302,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -302275,10 +305435,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -395042,7 +398198,7 @@ } } ], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -419751,7 +422907,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, diff --git a/lib/rest/static/decorated/ghes-3.3.json b/lib/rest/static/decorated/ghes-3.3.json index 578de7a109..c12e1ec107 100644 --- a/lib/rest/static/decorated/ghes-3.3.json +++ b/lib/rest/static/decorated/ghes-3.3.json @@ -99038,14 +99038,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -99975,14 +99967,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -100605,15 +100589,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -101065,14 +101040,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -103702,14 +103669,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -104643,14 +104602,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -105582,14 +105533,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -108358,14 +108301,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -111131,14 +111066,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -112010,14 +111937,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -112657,15 +112576,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -113306,14 +113216,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -114196,14 +114098,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -115071,14 +114965,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -117735,7 +117621,2049 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -122596,7 +124524,1272 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -125641,7 +128834,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -125651,8 +128844,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -125739,7 +128938,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -125749,8 +128948,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -125832,7 +129036,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -125842,8 +129046,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -128537,7 +131746,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -128547,8 +131756,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -128836,7 +132050,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -128846,8 +132060,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129135,7 +132354,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -129145,8 +132364,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129691,7 +132915,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -129701,8 +132925,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129957,7 +133186,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -129967,8 +133196,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -130223,7 +133457,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -130233,8 +133467,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -162904,8 +166143,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -200899,14 +204141,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -202137,14 +205371,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -202940,14 +206166,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -224833,7 +228051,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -228109,7 +231328,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -231349,7 +234569,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -234441,6 +237662,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -234645,7 +237872,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -241813,7 +245041,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -245047,7 +248276,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -252175,7 +255405,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -257038,7 +260269,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -294066,14 +297298,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -294950,14 +298174,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -295849,14 +299065,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -296660,14 +299868,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -297563,14 +300763,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -298375,14 +301567,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -299216,14 +302400,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -300099,14 +303275,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -302739,14 +305907,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -303880,10 +307040,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -391116,7 +394272,7 @@ } } ], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -399235,6 +402391,13 @@ "in": "body", "description": "

The URL must contain <num> for the reference number.

", "isRequired": true + }, + { + "type": "boolean", + "name": "is_alphanumeric", + "in": "body", + "description": "

Whether this autolink reference matches alphanumeric characters. If true, the <num> parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters.

", + "default": "true" } ], "enabledForGitHubApps": true, @@ -399247,7 +402410,8 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true }, "parameters": { "owner": "OWNER", @@ -416473,7 +419637,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, diff --git a/lib/rest/static/decorated/ghes-3.4.json b/lib/rest/static/decorated/ghes-3.4.json index 19da14652d..62c325d1f7 100644 --- a/lib/rest/static/decorated/ghes-3.4.json +++ b/lib/rest/static/decorated/ghes-3.4.json @@ -101123,14 +101123,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -102052,14 +102044,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -102674,15 +102658,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -103125,14 +103100,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -105754,14 +105721,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -106687,14 +106646,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -107618,14 +107569,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -110231,14 +110174,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -112936,14 +112871,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -113807,14 +113734,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -114446,15 +114365,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -115086,14 +114996,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -118592,7 +118494,2775 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string" + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts", + "checks" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "bypass_pull_request_allowances": { + "type": "object", + "description": "Allow specific users, teams, or apps to bypass pull request requirements.", + "properties": { + "users": { + "description": "The list of users allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 0, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -124921,7 +127591,2001 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string", + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts", + "checks" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + }, + "bypass_pull_request_allowances": { + "type": "object", + "properties": { + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -129466,7 +134130,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -129476,8 +134140,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129564,7 +134234,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -129574,8 +134244,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -129657,7 +134332,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -129667,8 +134342,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -132362,7 +137042,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -132372,8 +137052,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -132661,7 +137346,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -132671,8 +137356,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -132960,7 +137650,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -132970,8 +137660,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -133516,7 +138211,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -133526,8 +138221,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -133782,7 +138482,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -133792,8 +138492,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -134048,7 +138753,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -134058,8 +138763,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -159296,6 +164006,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -160147,7 +164858,7 @@ "description": "

Service unavailable

" } ], - "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • analysis_key
  • \n
  • environment
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", + "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • category
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", "subcategory": "code-scanning" }, { @@ -166842,8 +171553,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -208516,14 +213230,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -209746,14 +214452,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -210541,14 +215239,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -232426,7 +237116,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -235702,7 +240393,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -238942,7 +243634,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -242034,6 +246727,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -242238,7 +246937,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -249406,7 +254106,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -252640,7 +257341,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -259768,7 +264470,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -264631,7 +269334,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -313468,14 +318172,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -314344,14 +319040,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -315235,14 +319923,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -316038,14 +320718,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -316933,14 +321605,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -317737,14 +322401,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -318570,14 +323226,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -319445,14 +324093,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -322117,14 +326757,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -323058,7 +327690,7 @@ } ], "previews": [], - "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", + "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with admin:org repo scope.\nGitHub Apps must have the organization_custom_roles:read organization permission to use this endpoint.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", "statusCodes": [ { "httpStatusCode": "200", @@ -323345,10 +327977,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -410731,7 +415359,7 @@ } } ], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -418850,6 +423478,13 @@ "in": "body", "description": "

The URL must contain <num> for the reference number.

", "isRequired": true + }, + { + "type": "boolean", + "name": "is_alphanumeric", + "in": "body", + "description": "

Whether this autolink reference matches alphanumeric characters. If true, the <num> parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters.

", + "default": "true" } ], "enabledForGitHubApps": true, @@ -418862,7 +423497,8 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true }, "parameters": { "owner": "OWNER", @@ -436088,7 +440724,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, diff --git a/lib/rest/static/decorated/ghes-3.5.json b/lib/rest/static/decorated/ghes-3.5.json index 7cefd84492..6be173891d 100644 --- a/lib/rest/static/decorated/ghes-3.5.json +++ b/lib/rest/static/decorated/ghes-3.5.json @@ -109540,14 +109540,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -110469,14 +110461,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -111091,15 +111075,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -111542,14 +111517,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -114171,14 +114138,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -115104,14 +115063,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -116035,14 +115986,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -118648,14 +118591,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -121353,14 +121288,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -122224,14 +122151,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -122863,15 +122782,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -123503,14 +123413,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -127009,7 +126911,2775 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string" + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts", + "checks" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "bypass_pull_request_allowances": { + "type": "object", + "description": "Allow specific users, teams, or apps to bypass pull request requirements.", + "properties": { + "users": { + "description": "The list of users allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 0, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -133338,7 +136008,2001 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string", + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts", + "checks" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + }, + "bypass_pull_request_allowances": { + "type": "object", + "properties": { + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -137883,7 +142547,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -137893,8 +142557,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -137981,7 +142651,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -137991,8 +142661,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -138074,7 +142749,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -138084,8 +142759,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -140779,7 +145459,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -140789,8 +145469,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -141078,7 +145763,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -141088,8 +145773,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -141377,7 +146067,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -141387,8 +146077,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -141933,7 +146628,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -141943,8 +146638,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -142199,7 +146899,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -142209,8 +146909,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -142465,7 +147170,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -142475,8 +147180,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -169135,6 +173845,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -169986,7 +174697,7 @@ "description": "

Service unavailable

" } ], - "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • analysis_key
  • \n
  • environment
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", + "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • category
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", "subcategory": "code-scanning" }, { @@ -176716,8 +181427,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -218414,14 +223128,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -219644,14 +224350,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -220439,14 +225137,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -242324,7 +247014,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -245600,7 +250291,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -248840,7 +253532,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -251932,6 +256625,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -252136,7 +256835,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -259304,7 +264004,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -262538,7 +267239,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -269666,7 +274368,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -274529,7 +279232,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -323372,14 +328076,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -324248,14 +328944,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -325139,14 +329827,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -325942,14 +330622,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -326837,14 +331509,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -327641,14 +332305,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -328474,14 +333130,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -329349,14 +333997,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -332021,14 +336661,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -332962,7 +337594,7 @@ } ], "previews": [], - "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", + "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with admin:org repo scope.\nGitHub Apps must have the organization_custom_roles:read organization permission to use this endpoint.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", "statusCodes": [ { "httpStatusCode": "200", @@ -333249,10 +337881,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -420754,7 +425382,7 @@ } } ], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -428885,6 +433513,13 @@ "in": "body", "description": "

The URL must contain <num> for the reference number.

", "isRequired": true + }, + { + "type": "boolean", + "name": "is_alphanumeric", + "in": "body", + "description": "

Whether this autolink reference matches alphanumeric characters. If true, the <num> parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters.

", + "default": "true" } ], "enabledForGitHubApps": true, @@ -428897,7 +433532,8 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true }, "parameters": { "owner": "OWNER", @@ -446448,7 +451084,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, diff --git a/lib/rest/static/decorated/ghes-3.6.json b/lib/rest/static/decorated/ghes-3.6.json index 6c3384f9c5..50db10565f 100644 --- a/lib/rest/static/decorated/ghes-3.6.json +++ b/lib/rest/static/decorated/ghes-3.6.json @@ -113005,14 +113005,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -113934,14 +113926,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -114556,15 +114540,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -115007,14 +114982,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -117717,14 +117684,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -118650,14 +118609,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -119581,14 +119532,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -122275,14 +122218,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -125061,14 +124996,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -125932,14 +125859,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -126571,15 +126490,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -127211,14 +127121,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -130717,7 +130619,2775 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string" + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts", + "checks" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "bypass_pull_request_allowances": { + "type": "object", + "description": "Allow specific users, teams, or apps to bypass pull request requirements.", + "properties": { + "users": { + "description": "The list of users allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 0, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -137046,7 +139716,2001 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string", + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts", + "checks" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + }, + "bypass_pull_request_allowances": { + "type": "object", + "properties": { + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -141591,7 +146255,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -141601,8 +146265,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -141689,7 +146359,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -141699,8 +146369,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -141782,7 +146457,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -141792,8 +146467,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -144487,7 +149167,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -144497,8 +149177,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -144786,7 +149471,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -144796,8 +149481,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -145085,7 +149775,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -145095,8 +149785,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -145641,7 +150336,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -145651,8 +150346,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -145907,7 +150607,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -145917,8 +150617,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -146173,7 +150878,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -146183,8 +150888,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -173324,6 +178034,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -174175,7 +178886,7 @@ "description": "

Service unavailable

" } ], - "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • analysis_key
  • \n
  • environment
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", + "descriptionHTML": "

Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the repo scope. For public repositories,\nyou must use an access token with public_repo scope.\nGitHub Apps must have the security_events write permission to use this endpoint.

\n

You can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.

\n

When you list the analyses for a repository,\none or more will be identified as deletable in the response:

\n
\"deletable\": true\n
\n

An analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:

\n
    \n
  • ref
  • \n
  • tool
  • \n
  • category
  • \n
\n

If you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:

\n
Analysis specified is not deletable.\n
\n

The response from a successful DELETE operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\nnext_analysis_url and confirm_delete_url.\nUse the next_analysis_url URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the confirm_delete_url URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of next_analysis_url and confirm_delete_url\nin the 200 response is null.

\n

As an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:

\n

Outer loop:

\n
    \n
  • \n

    List the analyses for the repository, filtered by tool.

    \n
  • \n
  • \n

    Parse this list to find a deletable analysis. If found:

    \n

    Inner loop:

    \n
      \n
    • Delete the identified analysis.
    • \n
    • Parse the response for the value of confirm_delete_url and, if found, use this in the next iteration.
    • \n
    \n
  • \n
\n

The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the confirm_delete_url value. Alternatively, you could use the next_analysis_url value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.

", "subcategory": "code-scanning" }, { @@ -181079,8 +185790,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -223532,14 +228246,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -224762,14 +229468,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -225557,14 +230255,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -247604,7 +252294,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -250961,7 +255652,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -254282,7 +258974,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -257455,6 +262148,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -257659,7 +262358,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -264989,7 +269689,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -268304,7 +273005,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -275513,7 +280215,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -280457,7 +285160,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -329954,14 +334658,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -330830,14 +335526,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -331721,14 +336409,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -332524,14 +337204,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -333419,14 +338091,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -334223,14 +338887,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -335056,14 +339712,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -335931,14 +340579,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -338622,14 +343262,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -339563,7 +344195,7 @@ } ], "previews": [], - "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", + "descriptionHTML": "

List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.

\n

To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with admin:org repo scope.\nGitHub Apps must have the organization_custom_roles:read organization permission to use this endpoint.

\n

For more information on custom repository roles, see \"Managing custom repository roles for an organization\".

", "statusCodes": [ { "httpStatusCode": "200", @@ -339850,10 +344482,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -428805,7 +433433,7 @@ } } ], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -437272,6 +441900,13 @@ "in": "body", "description": "

The URL must contain <num> for the reference number.

", "isRequired": true + }, + { + "type": "boolean", + "name": "is_alphanumeric", + "in": "body", + "description": "

Whether this autolink reference matches alphanumeric characters. If true, the <num> parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters.

", + "default": "true" } ], "enabledForGitHubApps": true, @@ -437284,7 +441919,8 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true }, "parameters": { "owner": "OWNER", @@ -455399,7 +460035,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, diff --git a/lib/rest/static/decorated/github.ae.json b/lib/rest/static/decorated/github.ae.json index 114449dd88..99faf888dc 100644 --- a/lib/rest/static/decorated/github.ae.json +++ b/lib/rest/static/decorated/github.ae.json @@ -77563,14 +77563,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -78492,14 +78484,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -79114,15 +79098,6 @@ "write" ] }, - { - "type": "string", - "name": "organization_custom_roles", - "description": "

The level of permission to grant the access token for custom roles management.

", - "enum": [ - "read", - "write" - ] - }, { "type": "string", "name": "deployments", @@ -79565,14 +79540,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -82199,14 +82166,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -83132,14 +83091,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -84063,14 +84014,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -86681,14 +86624,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -89391,14 +89326,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -90262,14 +90189,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -91193,14 +91112,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -94514,7 +94425,2775 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + }, + "schema": { + "title": "Branch With Protection", + "description": "Branch With Protection", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "commit": { + "title": "Commit", + "description": "Commit", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "sha": { + "type": "string", + "examples": [ + "6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "comments_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments" + ] + }, + "commit": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Git User", + "description": "Metaproperties for Git author/committer information.", + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "\"Chris Wanstrath\"" + ] + }, + "email": { + "type": "string", + "examples": [ + "\"chris@ozmm.org\"" + ] + }, + "date": { + "type": "string", + "examples": [ + "\"2007-10-29T02:42:39.000-07:00\"" + ] + } + } + } + ] + }, + "message": { + "type": "string", + "examples": [ + "Fix all the bugs" + ] + }, + "comment_count": { + "type": "integer", + "examples": [ + 0 + ] + }, + "tree": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "827efc6d56897b048c772eb4087f854f46256132" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132" + ] + } + }, + "required": [ + "sha", + "url" + ] + }, + "verification": { + "title": "Verification", + "type": "object", + "properties": { + "verified": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "payload": { + "type": [ + "string", + "null" + ] + }, + "signature": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "verified", + "reason", + "payload", + "signature" + ] + } + }, + "required": [ + "author", + "committer", + "comment_count", + "message", + "tree", + "url" + ] + }, + "author": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "committer": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "parents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd" + ] + } + }, + "required": [ + "sha", + "url" + ] + } + }, + "stats": { + "type": "object", + "properties": { + "additions": { + "type": "integer" + }, + "deletions": { + "type": "integer" + }, + "total": { + "type": "integer" + } + } + }, + "files": { + "type": "array", + "items": { + "title": "Diff Entry", + "description": "Diff Entry", + "type": "object", + "properties": { + "sha": { + "type": "string", + "examples": [ + "bbcd538c8e72b8c175046e27cc8f907076331401" + ] + }, + "filename": { + "type": "string", + "examples": [ + "file1.txt" + ] + }, + "status": { + "type": "string", + "enum": [ + "added", + "removed", + "modified", + "renamed", + "copied", + "changed", + "unchanged" + ], + "examples": [ + "added" + ] + }, + "additions": { + "type": "integer", + "examples": [ + 103 + ] + }, + "deletions": { + "type": "integer", + "examples": [ + 21 + ] + }, + "changes": { + "type": "integer", + "examples": [ + 124 + ] + }, + "blob_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "raw_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt" + ] + }, + "contents_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e" + ] + }, + "patch": { + "type": "string", + "examples": [ + "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test" + ] + }, + "previous_filename": { + "type": "string", + "examples": [ + "file.txt" + ] + } + }, + "required": [ + "additions", + "blob_url", + "changes", + "contents_url", + "deletions", + "filename", + "raw_url", + "sha", + "status" + ] + } + } + }, + "required": [ + "url", + "sha", + "node_id", + "html_url", + "comments_url", + "commit", + "author", + "committer", + "parents" + ] + }, + "_links": { + "type": "object", + "properties": { + "html": { + "type": "string" + }, + "self": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "html", + "self" + ] + }, + "protected": { + "type": "boolean" + }, + "protection": { + "title": "Branch Protection", + "description": "Branch Protection", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "required_status_checks": { + "title": "Protected Branch Required Status Check", + "description": "Protected Branch Required Status Check", + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "enforcement_level": { + "type": "string" + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + } + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string" + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string" + }, + "strict": { + "type": "boolean" + } + }, + "required": [ + "contexts", + "checks" + ] + }, + "enforce_admins": { + "title": "Protected Branch Admin Enforced", + "description": "Protected Branch Admin Enforced", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "required_pull_request_reviews": { + "title": "Protected Branch Pull Request Review", + "description": "Protected Branch Pull Request Review", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions" + ] + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "users": { + "description": "The list of users with review dismissal access.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams with review dismissal access.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps with review dismissal access.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + }, + "url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\"" + ] + }, + "users_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\"" + ] + }, + "teams_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\"" + ] + } + } + }, + "bypass_pull_request_allowances": { + "type": "object", + "description": "Allow specific users, teams, or apps to bypass pull request requirements.", + "properties": { + "users": { + "description": "The list of users allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "description": "The list of teams allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "description": "The list of apps allowed to bypass pull request requirements.", + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + } + }, + "dismiss_stale_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "require_code_owner_reviews": { + "type": "boolean", + "examples": [ + true + ] + }, + "required_approving_review_count": { + "type": "integer", + "minimum": 0, + "maximum": 6, + "examples": [ + 2 + ] + } + }, + "required": [ + "dismiss_stale_reviews", + "require_code_owner_reviews" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "name": { + "type": "string", + "examples": [ + "\"branch/with/protection\"" + ] + }, + "protection_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\"" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + } + } + }, + "protection_url": { + "type": "string", + "format": "uri" + }, + "pattern": { + "type": "string", + "examples": [ + "\"mas*\"" + ] + }, + "required_approving_review_count": { + "type": "integer", + "examples": [ + 1 + ] + } + }, + "required": [ + "name", + "commit", + "_links", + "protection", + "protected", + "protection_url" + ] + } } } ], @@ -97986,7 +100665,2001 @@ }, "response": { "statusCode": "200", - "description": "

Response

" + "contentType": "application/json", + "description": "

Response

", + "example": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [], + "teams": [], + "apps": [] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [], + "teams": [], + "apps": [] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + }, + "schema": { + "title": "Protected Branch", + "description": "Branch protections protect branches", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "required_status_checks": { + "title": "Status Check Policy", + "description": "Status Check Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks" + ] + }, + "strict": { + "type": "boolean", + "examples": [ + true + ] + }, + "contexts": { + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "checks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "context": { + "type": "string", + "examples": [ + "continuous-integration/travis-ci" + ] + }, + "app_id": { + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "context", + "app_id" + ] + } + }, + "contexts_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts" + ] + } + }, + "required": [ + "url", + "contexts_url", + "strict", + "contexts", + "checks" + ] + }, + "required_pull_request_reviews": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "dismiss_stale_reviews": { + "type": "boolean" + }, + "require_code_owner_reviews": { + "type": "boolean" + }, + "required_approving_review_count": { + "type": "integer" + }, + "dismissal_restrictions": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "users", + "teams" + ] + }, + "bypass_pull_request_allowances": { + "type": "object", + "properties": { + "users": { + "type": "array", + "items": { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + }, + "teams": { + "type": "array", + "items": { + "title": "Team", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "pull": { + "type": "boolean" + }, + "triage": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "maintain": { + "type": "boolean" + }, + "admin": { + "type": "boolean" + } + }, + "required": [ + "pull", + "triage", + "push", + "maintain", + "admin" + ] + }, + "url": { + "type": "string", + "format": "uri" + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string", + "format": "uri" + }, + "parent": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Team Simple", + "description": "Groups of organization members that gives permissions on specified repositories.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the team", + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VGVhbTE=" + ] + }, + "url": { + "description": "URL for the team", + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1" + ] + }, + "members_url": { + "type": "string", + "examples": [ + "https://api.github.com/organizations/1/team/1/members{/member}" + ] + }, + "name": { + "description": "Name of the team", + "type": "string", + "examples": [ + "Justice League" + ] + }, + "description": { + "description": "Description of the team", + "type": [ + "string", + "null" + ], + "examples": [ + "A great team." + ] + }, + "permission": { + "description": "Permission that the team will have for its repositories", + "type": "string", + "examples": [ + "admin" + ] + }, + "privacy": { + "description": "The level of privacy this team should have", + "type": "string", + "examples": [ + "closed" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/orgs/rails/teams/core" + ] + }, + "repositories_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/organizations/1/team/1/repos" + ] + }, + "slug": { + "type": "string", + "examples": [ + "justice-league" + ] + }, + "ldap_dn": { + "description": "Distinguished Name (DN) that team maps to within LDAP environment", + "type": "string", + "examples": [ + "uid=example,ou=users,dc=github,dc=com" + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug" + ] + } + ] + } + }, + "required": [ + "id", + "node_id", + "url", + "members_url", + "name", + "description", + "permission", + "html_url", + "repositories_url", + "slug", + "parent" + ] + } + }, + "apps": { + "type": "array", + "items": { + "title": "GitHub app", + "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.", + "type": "object", + "properties": { + "id": { + "description": "Unique identifier of the GitHub app", + "type": "integer", + "examples": [ + 37 + ] + }, + "slug": { + "description": "The slug name of the GitHub app", + "type": "string", + "examples": [ + "probot-owners" + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDExOkludGVncmF0aW9uMQ==" + ] + }, + "owner": { + "anyOf": [ + { + "type": "null" + }, + { + "title": "Simple User", + "description": "Simple User", + "type": "object", + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "email": { + "type": [ + "string", + "null" + ] + }, + "login": { + "type": "string", + "examples": [ + "octocat" + ] + }, + "id": { + "type": "integer", + "examples": [ + 1 + ] + }, + "node_id": { + "type": "string", + "examples": [ + "MDQ6VXNlcjE=" + ] + }, + "avatar_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/images/error/octocat_happy.gif" + ] + }, + "gravatar_id": { + "type": [ + "string", + "null" + ], + "examples": [ + "41d064eb2195891e12d0413f63227ea7" + ] + }, + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/octocat" + ] + }, + "followers_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/followers" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/following{/other_user}" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/gists{/gist_id}" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/starred{/owner}{/repo}" + ] + }, + "subscriptions_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/subscriptions" + ] + }, + "organizations_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/orgs" + ] + }, + "repos_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/repos" + ] + }, + "events_url": { + "type": "string", + "examples": [ + "https://api.github.com/users/octocat/events{/privacy}" + ] + }, + "received_events_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/users/octocat/received_events" + ] + }, + "type": { + "type": "string", + "examples": [ + "User" + ] + }, + "site_admin": { + "type": "boolean" + }, + "starred_at": { + "type": "string", + "examples": [ + "\"2020-07-09T00:17:55Z\"" + ] + } + }, + "required": [ + "avatar_url", + "events_url", + "followers_url", + "following_url", + "gists_url", + "gravatar_id", + "html_url", + "id", + "node_id", + "login", + "organizations_url", + "received_events_url", + "repos_url", + "site_admin", + "starred_url", + "subscriptions_url", + "type", + "url" + ] + } + ] + }, + "name": { + "description": "The name of the GitHub app", + "type": "string", + "examples": [ + "Probot Owners" + ] + }, + "description": { + "type": [ + "string", + "null" + ], + "examples": [ + "The description of the app." + ] + }, + "external_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://example.com" + ] + }, + "html_url": { + "type": "string", + "format": "uri", + "examples": [ + "https://github.com/apps/super-ci" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "updated_at": { + "type": "string", + "format": "date-time", + "examples": [ + "2017-07-08T16:18:44-04:00" + ] + }, + "permissions": { + "description": "The set of permissions for the GitHub app", + "type": "object", + "properties": { + "issues": { + "type": "string" + }, + "checks": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "deployments": { + "type": "string" + } + }, + "additionalProperties": { + "type": "string" + }, + "example": { + "issues": "read", + "deployments": "write" + } + }, + "events": { + "description": "The list of events for the GitHub app", + "type": "array", + "items": { + "type": "string" + }, + "examples": [ + "label", + "deployment" + ] + }, + "installations_count": { + "description": "The number of installations associated with the GitHub app", + "type": "integer", + "examples": [ + 5 + ] + }, + "client_id": { + "type": "string", + "examples": [ + "\"Iv1.25b5d1e65ffc4022\"" + ] + }, + "client_secret": { + "type": "string", + "examples": [ + "\"1d4b2097ac622ba702d19de498f005747a8b21d3\"" + ] + }, + "webhook_secret": { + "type": [ + "string", + "null" + ], + "examples": [ + "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\"" + ] + }, + "pem": { + "type": "string", + "examples": [ + "\"-----BEGIN RSA PRIVATE KEY-----\\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\\n-----END RSA PRIVATE KEY-----\\n\"" + ] + } + }, + "required": [ + "id", + "node_id", + "owner", + "name", + "description", + "external_url", + "html_url", + "created_at", + "updated_at", + "permissions", + "events" + ] + } + } + }, + "required": [ + "users", + "teams" + ] + } + }, + "required": [ + "url" + ] + }, + "required_signatures": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri", + "examples": [ + "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures" + ] + }, + "enabled": { + "type": "boolean", + "examples": [ + true + ] + } + }, + "required": [ + "url", + "enabled" + ] + }, + "enforce_admins": { + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "url", + "enabled" + ] + }, + "required_linear_history": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_force_pushes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "allow_deletions": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + }, + "restrictions": { + "title": "Branch Restriction Policy", + "description": "Branch Restriction Policy", + "type": "object", + "properties": { + "url": { + "type": "string", + "format": "uri" + }, + "users_url": { + "type": "string", + "format": "uri" + }, + "teams_url": { + "type": "string", + "format": "uri" + }, + "apps_url": { + "type": "string", + "format": "uri" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "gravatar_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "followers_url": { + "type": "string" + }, + "following_url": { + "type": "string" + }, + "gists_url": { + "type": "string" + }, + "starred_url": { + "type": "string" + }, + "subscriptions_url": { + "type": "string" + }, + "organizations_url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "received_events_url": { + "type": "string" + }, + "type": { + "type": "string" + }, + "site_admin": { + "type": "boolean" + } + } + } + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "privacy": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "repositories_url": { + "type": "string" + }, + "parent": { + "type": [ + "string", + "null" + ] + } + } + } + }, + "apps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "slug": { + "type": "string" + }, + "node_id": { + "type": "string" + }, + "owner": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "node_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "repos_url": { + "type": "string" + }, + "events_url": { + "type": "string" + }, + "hooks_url": { + "type": "string" + }, + "issues_url": { + "type": "string" + }, + "members_url": { + "type": "string" + }, + "public_members_url": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "gravatar_id": { + "type": "string", + "examples": [ + "\"\"" + ] + }, + "html_url": { + "type": "string", + "examples": [ + "\"https://github.com/testorg-ea8ec76d71c3af4b\"" + ] + }, + "followers_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\"" + ] + }, + "following_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\"" + ] + }, + "gists_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\"" + ] + }, + "starred_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\"" + ] + }, + "subscriptions_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\"" + ] + }, + "organizations_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\"" + ] + }, + "received_events_url": { + "type": "string", + "examples": [ + "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\"" + ] + }, + "type": { + "type": "string", + "examples": [ + "\"Organization\"" + ] + }, + "site_admin": { + "type": "boolean", + "examples": [ + false + ] + } + } + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "external_url": { + "type": "string" + }, + "html_url": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + }, + "permissions": { + "type": "object", + "properties": { + "metadata": { + "type": "string" + }, + "contents": { + "type": "string" + }, + "issues": { + "type": "string" + }, + "single_file": { + "type": "string" + } + } + }, + "events": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "required": [ + "url", + "users_url", + "teams_url", + "apps_url", + "users", + "teams", + "apps" + ] + }, + "required_conversation_resolution": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block_creations": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "enabled" + ] + } + }, + "required": [ + "url" + ] + } } } ], @@ -102531,7 +107204,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -102541,8 +107214,14 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding status checks to a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -102629,7 +107308,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -102639,8 +107318,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example updating status checks for a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -102722,7 +107406,7 @@ "type": "array of strings", "name": "contexts", "in": "body", - "description": "

contexts parameter

", + "description": "

The name of the status checks

", "isRequired": true } ], @@ -102732,8 +107416,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing status checks from a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "contexts": [ + "continuous-integration/travis-ci" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -105427,7 +110116,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -105437,8 +110126,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -105726,7 +110420,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -105736,8 +110430,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -106025,7 +110724,7 @@ "type": "array of strings", "name": "teams", "in": "body", - "description": "

teams parameter

", + "description": "

The slug values for teams

", "isRequired": true } ], @@ -106035,8 +110734,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a team in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "teams": [ + "justice-league" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -106581,7 +111285,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -106591,8 +111295,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example adding a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -106847,7 +111556,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -106857,8 +111566,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example replacing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -107113,7 +111827,7 @@ "type": "array of strings", "name": "users", "in": "body", - "description": "

users parameter

", + "description": "

The username for users

", "isRequired": true } ], @@ -107123,8 +111837,13 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example removing a user in a branch protection rule", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "octocat" + ] + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -132585,6 +137304,33 @@ "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53" ] } + }, + { + "name": "direction", + "description": "

The direction to sort the results by.

", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + } + }, + { + "name": "sort", + "description": "

The property by which to sort the results.

", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "created" + ], + "default": "created" + } } ], "bodyParameters": [], @@ -139948,8 +144694,11 @@ "key": "default", "request": { "contentType": "application/json", - "description": "Example", + "description": "Example request body", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "permissions": "write" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -175369,14 +180118,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -176293,14 +181034,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -177088,14 +181821,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -198893,7 +203618,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ], "schema": { @@ -202174,7 +206900,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -205419,7 +210146,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -208516,6 +213244,12 @@ "closed" ] }, + { + "type": "string or null", + "name": "state_reason", + "in": "body", + "description": "

The reason for the current state

" + }, { "type": "null or string or integer or string or integer", "name": "milestone", @@ -208720,7 +213454,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -215898,7 +220633,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -219137,7 +223873,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" }, "schema": { "title": "Issue", @@ -226270,7 +231007,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ], @@ -231138,7 +235876,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } }, "schema": { @@ -279654,6 +284393,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -279857,6 +284638,42 @@ "name": "blog", "in": "body", "description": "" + }, + { + "type": "boolean", + "name": "advanced_security_enabled_for_new_repositories", + "in": "body", + "description": "

Whether GitHub Advanced Security is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "dependabot_alerts_enabled_for_new_repositories", + "in": "body", + "description": "

Whether Dependabot alerts is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "dependabot_security_updates_enabled_for_new_repositories", + "in": "body", + "description": "

Whether Dependabot security updates is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "dependency_graph_enabled_for_new_repositories", + "in": "body", + "description": "

Whether dependency graph is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "secret_scanning_enabled_for_new_repositories", + "in": "body", + "description": "

Whether secret scanning is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" + }, + { + "type": "boolean", + "name": "secret_scanning_push_protection_enabled_for_new_repositories", + "in": "body", + "description": "

Whether secret scanning push protection is automatically enabled for new repositories.

\n

To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"Managing security managers in your organization.\"

\n

You can check which security and analysis features are currently enabled by using a GET /orgs/{org} request.

" } ], "enabledForGitHubApps": true, @@ -280285,6 +285102,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -281203,14 +286062,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -282336,10 +287187,6 @@ "httpStatusCode": "200", "description": "

OK

" }, - { - "httpStatusCode": "302", - "description": "

Response if requester is not an organization member

" - }, { "httpStatusCode": "422", "description": "

Validation failed

" @@ -368015,7 +372862,7 @@ } ], "previews": [], - "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", + "descriptionHTML": "

Creates a new repository using a repository template. Use the template_owner and template_repo route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the Get a repository endpoint and check that the is_template key is true.

\n

OAuth scope requirements

\n

When using OAuth, authorizations must include:

\n
    \n
  • public_repo scope or repo scope to create a public repository. Note: For GitHub AE, use repo scope to create an internal repository.
  • \n
  • repo scope to create a private repository
  • \n
", "statusCodes": [ { "httpStatusCode": "201", @@ -373905,6 +378752,13 @@ "in": "body", "description": "

The URL must contain <num> for the reference number.

", "isRequired": true + }, + { + "type": "boolean", + "name": "is_alphanumeric", + "in": "body", + "description": "

Whether this autolink reference matches alphanumeric characters. If true, the <num> parameter of the url_template matches alphanumeric characters A-Z (case insensitive), 0-9, and -. If false, this autolink reference only matches numeric characters.

", + "default": "true" } ], "enabledForGitHubApps": true, @@ -373917,7 +378771,8 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true }, "parameters": { "owner": "OWNER", @@ -391223,7 +396078,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] }, diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index dcaeca741d..d083e84859 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -2854,14 +2854,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -3006,6 +2998,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -3791,14 +3791,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -3943,6 +3935,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -4514,14 +4514,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -4666,6 +4658,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -4807,14 +4807,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -4959,6 +4951,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -7458,14 +7458,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -7610,6 +7602,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -8432,14 +8432,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -8584,6 +8576,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -9278,14 +9278,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9430,6 +9422,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -9826,14 +9826,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9978,6 +9970,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -59363,7 +59363,7 @@ "/organizations/{organization_id}/custom_roles": { "get": { "summary": "List custom repository roles in an organization", - "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", + "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nTo use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope.\nGitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", "tags": [ "orgs" ], @@ -59823,6 +59823,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -60077,6 +60119,30 @@ "examples": [ "\"http://github.blog\"" ] + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether Dependabot alerts is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether Dependabot security updates is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." } } }, @@ -60448,6 +60514,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -79970,6 +80078,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -91569,14 +91687,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -91721,6 +91831,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -92520,14 +92638,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -92672,6 +92782,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -98486,17 +98604,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -101789,6 +101896,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -143462,6 +143579,78 @@ } } }, + "/orgs/{org}/{security_product}/{enablement}": { + "post": { + "summary": "Enable or disable a security feature for an organization", + "description": "Enables or disables the specified security feature for all repositories in an organization.\n\nTo use this endpoint, you must be an organization owner or be member of a team with the security manager role.\nA token with the 'write:org' scope is also required.\n\nGitHub Apps must have the `organization_administration:write` permission to use this endpoint.\n\nFor more information, see \"[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"", + "tags": [ + "orgs" + ], + "operationId": "orgs/enable-or-disable-security-product-on-all-org-repos", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/orgs#enable-or-disable-security-product-on-all-org-repos" + }, + "parameters": [ + { + "name": "org", + "description": "The organization name. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "security_product", + "in": "path", + "description": "The security feature to enable or disable.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "dependency_graph", + "dependabot_alerts", + "dependabot_security_updates", + "advanced_security", + "secret_scanning", + "secret_scanning_push_protection" + ] + } + }, + { + "name": "enablement", + "in": "path", + "description": "The action to take.\n\n`enable_all` means to enable the specified security feature for all repositories in the organization.\n`disable_all` means to disable the specified security feature for all repositories in the organization.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "enable_all", + "disable_all" + ] + } + } + ], + "responses": { + "204": { + "description": "Action started" + }, + "422": { + "description": "The action could not be taken due to an in progress enablement, or a policy is preventing enablement" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "previews": [ + + ], + "category": "orgs", + "subcategory": "orgs" + } + } + }, "/projects/columns/cards/{card_id}": { "get": { "summary": "Get a project card", @@ -197443,14 +197632,18 @@ ] }, "is_alphanumeric": { - "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters.", - "type": "boolean" + "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.", + "type": "boolean", + "examples": [ + true + ] } }, "required": [ "id", "key_prefix", - "url_template" + "url_template", + "is_alphanumeric" ] } }, @@ -197517,11 +197710,16 @@ "properties": { "key_prefix": { "type": "string", - "description": "The prefix appended by alphanumeric characters will generate a link any time it is found in an issue, pull request, or commit." + "description": "This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit." }, "url_template": { "type": "string", - "description": "The URL must contain `` for the reference number. `` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`." + "description": "The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`." + }, + "is_alphanumeric": { + "type": "boolean", + "default": "true", + "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." } }, "required": [ @@ -197533,7 +197731,8 @@ "default": { "value": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true } } } @@ -197571,14 +197770,18 @@ ] }, "is_alphanumeric": { - "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters.", - "type": "boolean" + "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.", + "type": "boolean", + "examples": [ + true + ] } }, "required": [ "id", "key_prefix", - "url_template" + "url_template", + "is_alphanumeric" ] }, "examples": { @@ -197758,14 +197961,18 @@ ] }, "is_alphanumeric": { - "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters.", - "type": "boolean" + "description": "Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.", + "type": "boolean", + "examples": [ + true + ] } }, "required": [ "id", "key_prefix", - "url_template" + "url_template", + "is_alphanumeric" ] }, "examples": { @@ -202802,6 +203009,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -207309,6 +207625,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -212195,7 +212590,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -212212,12 +212607,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -212432,7 +212838,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -212449,12 +212855,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -212641,7 +213057,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -212658,12 +213074,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -215785,7 +216211,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -215802,12 +216228,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -216179,7 +216615,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -216190,18 +216626,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -216572,7 +217018,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -216589,12 +217035,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -217241,7 +217697,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -217263,6 +217719,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -217601,7 +218067,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -217623,6 +218089,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -217960,7 +218436,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -217982,6 +218458,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -241659,6 +242145,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -241880,6 +242367,33 @@ "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53" ] } + }, + { + "name": "direction", + "description": "The direction to sort the results by.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + } + }, + { + "name": "sort", + "description": "The property by which to sort the results.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "created" + ], + "default": "created" + } } ], "responses": { @@ -242466,7 +242980,7 @@ }, "delete": { "summary": "Delete a code scanning analysis from a repository", - "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `analysis_key`\n* `environment`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", + "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `category`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", "operationId": "code-scanning/delete-analysis", "tags": [ "code-scanning" @@ -246173,6 +246687,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -249582,6 +250106,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -252634,6 +253168,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -297805,6 +298349,10 @@ "name": { "type": "string", "description": "When forking from an existing repository, a new name for the fork." + }, + "default_branch_only": { + "type": "boolean", + "description": "When forking from an existing repository, fork with only the default branch." } } } @@ -312912,14 +313460,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -313064,6 +313604,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -313678,6 +314226,15 @@ "required": [ "limit" ] + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "limit": "collaborators_only", + "expiry": "one_day" + } + } } } } @@ -316661,6 +317218,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -322855,7 +323420,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -326386,7 +326952,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -335118,7 +335685,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -340133,7 +340701,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -343509,7 +344078,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -343690,6 +344260,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -347008,7 +347588,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -350534,7 +351115,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -353857,7 +354439,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -419661,6 +420244,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -422713,6 +423306,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -460038,7 +460641,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -479143,7 +479746,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -502567,6 +503171,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -506159,6 +506773,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -509211,6 +509835,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -515978,6 +516612,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -519202,6 +519846,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -523228,6 +523882,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -526540,6 +527204,16 @@ "examples": [ "2011-01-26T20:01:12Z" ] + }, + "last_known_stop_notice": { + "description": "The text to display to a user when a codespace has been stopped for a potentially actionable reason.", + "type": [ + "string", + "null" + ], + "examples": [ + "you've used 100% of your spending limit for Codespaces" + ] } }, "required": [ @@ -530621,14 +531295,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -530773,6 +531439,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -563289,6 +563963,719 @@ } } }, + "/user/ssh_signing_keys": { + "get": { + "summary": "List SSH signing keys for the authenticated user", + "description": "Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", + "tags": [ + "users" + ], + "operationId": "users/list-ssh-signing-keys-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-public-ssh-signing-keys-for-the-authenticated-user" + }, + "parameters": [ + { + "name": "per_page", + "description": "The number of results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + }, + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", + "id": 3, + "url": "https://api.github.com/user/keys/3", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", + "created_at": "2020-07-11T21:31:57Z" + } + ] + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + }, + "304": { + "description": "Not modified" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "401": { + "description": "Requires authentication", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "previews": [ + + ], + "category": "users", + "subcategory": "ssh-signing-keys" + } + }, + "post": { + "summary": "Create a SSH signing key for the authenticated user", + "description": "Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", + "operationId": "users/create-ssh-signing-key-for-authenticated-user", + "tags": [ + "users" + ], + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#create-an-ssh-signing-key-for-the-authenticated-user" + }, + "parameters": [ + + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "title": { + "description": "A descriptive name for the new key.", + "type": "string", + "examples": [ + "Personal MacBook Air" + ] + }, + "key": { + "description": "The public SSH key to add to your GitHub account. For more information, see \"[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys).\"", + "type": "string", + "pattern": "^ssh-(rsa|dss|ed25519) |^ecdsa-sha2-nistp(256|384|521) " + } + }, + "required": [ + "key" + ], + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + }, + "examples": { + "default": { + "value": { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + } + } + } + } + } + }, + "422": { + "description": "Validation failed", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } + }, + "304": { + "description": "Not modified" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "401": { + "description": "Requires authentication", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "category": "users", + "subcategory": "ssh-signing-keys" + } + } + }, + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + "get": { + "summary": "Get an SSH signing key for the authenticated user", + "description": "Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", + "tags": [ + "users" + ], + "operationId": "users/get-ssh-signing-key-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#get-a-ssh-signing-key-for-the-authenticated-user" + }, + "parameters": [ + { + "name": "ssh_signing_key_id", + "description": "The unique identifier of the SSH signing key.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + }, + "examples": { + "default": { + "value": { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "304": { + "description": "Not modified" + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "401": { + "description": "Requires authentication", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "category": "users", + "subcategory": "ssh-signing-keys" + } + }, + "delete": { + "summary": "Delete an SSH signing key for the authenticated user", + "description": "Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see \"[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).\"", + "tags": [ + "users" + ], + "operationId": "users/delete-ssh-signing-key-for-authenticated-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#delete-a-ssh-signing-key-for-the-authenticated-user" + }, + "parameters": [ + { + "name": "ssh_signing_key_id", + "description": "The unique identifier of the SSH signing key.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Response" + }, + "304": { + "description": "Not modified" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "401": { + "description": "Requires authentication", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": false, + "category": "users", + "subcategory": "ssh-signing-keys" + } + } + }, "/user/starred": { "get": { "summary": "List repositories starred by the authenticated user", @@ -585360,14 +586747,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -585512,6 +586891,14 @@ "write" ] }, + "organization_custom_roles": { + "type": "string", + "description": "The level of permission to grant the access token for custom roles management. This property is in beta and is subject to change.", + "enum": [ + "read", + "write" + ] + }, "organization_hooks": { "type": "string", "description": "The level of permission to grant the access token to manage the post-receive hooks for an organization.", @@ -603836,6 +605223,121 @@ } } }, + "/users/{username}/ssh_signing_keys": { + "get": { + "summary": "List SSH signing keys for a user", + "description": "Lists the SSH signing keys for a user. This operation is accessible by anyone.", + "tags": [ + "users" + ], + "operationId": "users/list-ssh-signing-keys-for-user", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/reference/users#list-ssh-signing-keys-for-a-user" + }, + "parameters": [ + { + "name": "username", + "description": "The handle for the GitHub user account.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "The number of results per page (max 100).", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "Page number of the results to fetch.", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "title": "SSH Signing Key", + "description": "A public SSH key used to sign Git commits", + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "key", + "id", + "title", + "created_at" + ] + } + }, + "examples": { + "default": { + "value": [ + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", + "id": 2, + "url": "https://api.github.com/user/keys/2", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", + "created_at": "2020-06-11T21:31:57Z" + }, + { + "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", + "id": 3, + "url": "https://api.github.com/user/keys/3", + "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", + "created_at": "2020-07-11T21:31:57Z" + } + ] + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "users", + "subcategory": "ssh-signing-keys" + } + } + }, "/users/{username}/starred": { "get": { "summary": "List repositories starred by a user", diff --git a/lib/rest/static/dereferenced/ghes-3.2.deref.json b/lib/rest/static/dereferenced/ghes-3.2.deref.json index c9dadf843c..1447abbb9f 100644 --- a/lib/rest/static/dereferenced/ghes-3.2.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.2.deref.json @@ -4438,14 +4438,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -5691,14 +5683,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -6489,14 +6473,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9493,14 +9469,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10438,14 +10406,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11169,14 +11129,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11470,14 +11422,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -14948,14 +14892,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -15930,14 +15866,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -16784,14 +16712,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -17340,14 +17260,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -18396,14 +18308,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -19290,14 +19194,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -20676,14 +20572,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -21668,14 +21556,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -22733,14 +22613,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -23539,14 +23411,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -24582,14 +24446,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -25388,14 +25244,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -26305,14 +26153,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -27247,14 +27087,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -88566,14 +88398,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -89525,14 +89349,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -93803,17 +93619,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -163212,6 +163017,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -166250,6 +166164,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -169667,7 +169660,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -169684,12 +169677,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -169904,7 +169908,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -169921,12 +169925,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -170113,7 +170127,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -170130,12 +170144,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -173257,7 +173281,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -173274,12 +173298,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -173651,7 +173685,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -173662,18 +173696,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -174044,7 +174088,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -174061,12 +174105,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -174713,7 +174767,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -174735,6 +174789,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -175073,7 +175137,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -175095,6 +175159,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -175432,7 +175506,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -175454,6 +175528,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -253675,14 +253759,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -257038,6 +257114,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -263036,7 +263120,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -266484,7 +266569,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -275155,7 +275241,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -280084,7 +280171,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -283374,7 +283462,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -283560,6 +283649,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -286786,7 +286885,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -290220,7 +290320,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -293451,7 +293552,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -389620,7 +389722,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.2/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.2/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.2/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.2/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -402325,7 +402427,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -426063,14 +426166,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -463505,14 +463600,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", diff --git a/lib/rest/static/dereferenced/ghes-3.3.deref.json b/lib/rest/static/dereferenced/ghes-3.3.deref.json index 2d1944072e..89859d72b4 100644 --- a/lib/rest/static/dereferenced/ghes-3.3.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.3.deref.json @@ -4292,14 +4292,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -5545,14 +5537,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -6343,14 +6327,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9347,14 +9323,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10292,14 +10260,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11023,14 +10983,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11324,14 +11276,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -14813,14 +14757,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -15795,14 +15731,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -16649,14 +16577,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -17205,14 +17125,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -18261,14 +18173,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -19155,14 +19059,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -20541,14 +20437,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -21533,14 +21421,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -22598,14 +22478,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -23404,14 +23276,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -24447,14 +24311,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -25253,14 +25109,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -26170,14 +26018,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -27112,14 +26952,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -89352,14 +89184,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -90311,14 +90135,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -94591,17 +94407,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -161498,6 +161303,11 @@ "url_template": { "type": "string", "description": "The URL must contain `` for the reference number." + }, + "is_alphanumeric": { + "type": "boolean", + "default": "true", + "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." } }, "required": [ @@ -161509,7 +161319,8 @@ "default": { "value": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true } } } @@ -165228,6 +165039,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -168260,6 +168180,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -171641,7 +171640,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -171658,12 +171657,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -171878,7 +171888,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -171895,12 +171905,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -172087,7 +172107,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -172104,12 +172124,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -175231,7 +175261,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -175248,12 +175278,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -175625,7 +175665,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -175636,18 +175676,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -176018,7 +176068,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -176035,12 +176085,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -176687,7 +176747,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -176709,6 +176769,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -177047,7 +177117,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -177069,6 +177139,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -177406,7 +177486,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -177428,6 +177508,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -255835,14 +255925,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -259209,6 +259291,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -265229,7 +265319,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -268679,7 +268770,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -277330,7 +277422,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -282264,7 +282357,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -285559,7 +285653,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -285740,6 +285835,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -288977,7 +289082,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -292422,7 +292528,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -295664,7 +295771,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -392307,7 +392415,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.3/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.3/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.3/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.3/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -405062,7 +405170,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -428707,14 +428816,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -466242,14 +466343,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", diff --git a/lib/rest/static/dereferenced/ghes-3.4.deref.json b/lib/rest/static/dereferenced/ghes-3.4.deref.json index 60acdd2b68..25d1ba27a0 100644 --- a/lib/rest/static/dereferenced/ghes-3.4.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.4.deref.json @@ -4292,14 +4292,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -5537,14 +5529,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -6327,14 +6311,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9323,14 +9299,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10260,14 +10228,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10983,14 +10943,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11276,14 +11228,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -14705,14 +14649,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -15679,14 +15615,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -16525,14 +16453,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -17073,14 +16993,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -18584,14 +18496,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -19568,14 +19472,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -20625,14 +20521,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -21423,14 +21311,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -22458,14 +22338,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -23256,14 +23128,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -24165,14 +24029,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -25099,14 +24955,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -68989,7 +68837,7 @@ "/organizations/{organization_id}/custom_roles": { "get": { "summary": "List custom repository roles in an organization", - "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.4/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", + "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nTo use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope.\nGitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.4/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", "tags": [ "orgs" ], @@ -93533,14 +93381,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -94484,14 +94324,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -98756,17 +98588,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -172634,6 +172455,11 @@ "url_template": { "type": "string", "description": "The URL must contain `` for the reference number." + }, + "is_alphanumeric": { + "type": "boolean", + "default": "true", + "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." } }, "required": [ @@ -172645,7 +172471,8 @@ "default": { "value": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true } } } @@ -177816,6 +177643,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -182323,6 +182259,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -187209,7 +187224,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -187226,12 +187241,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -187446,7 +187472,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -187463,12 +187489,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -187655,7 +187691,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -187672,12 +187708,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -190799,7 +190845,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -190816,12 +190862,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -191193,7 +191249,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -191204,18 +191260,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -191586,7 +191652,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -191603,12 +191669,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -192255,7 +192331,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -192277,6 +192353,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -192615,7 +192701,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -192637,6 +192723,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -192974,7 +193070,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -192996,6 +193092,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -216263,6 +216369,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -217070,7 +217177,7 @@ }, "delete": { "summary": "Delete a code scanning analysis from a repository", - "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `analysis_key`\n* `environment`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", + "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `category`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", "operationId": "code-scanning/delete-analysis", "tags": [ "code-scanning" @@ -272376,14 +272483,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -275742,6 +275841,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -281762,7 +281869,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -285212,7 +285320,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -293863,7 +293972,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -298797,7 +298907,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -302092,7 +302203,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -302273,6 +302385,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -305510,7 +305632,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -308955,7 +309078,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -312197,7 +312321,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -409039,7 +409164,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.4/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.4/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.4/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.4/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -421794,7 +421919,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -445466,14 +445592,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -489409,14 +489527,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", diff --git a/lib/rest/static/dereferenced/ghes-3.5.deref.json b/lib/rest/static/dereferenced/ghes-3.5.deref.json index 33272011e4..f6c7a09ed5 100644 --- a/lib/rest/static/dereferenced/ghes-3.5.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.5.deref.json @@ -4292,14 +4292,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -5537,14 +5529,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -6327,14 +6311,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9323,14 +9299,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10260,14 +10228,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10983,14 +10943,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11276,14 +11228,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -14705,14 +14649,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -15679,14 +15615,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -16525,14 +16453,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -17073,14 +16993,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -18584,14 +18496,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -19568,14 +19472,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -20625,14 +20521,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -21423,14 +21311,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -22458,14 +22338,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -23256,14 +23128,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -24165,14 +24029,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -25099,14 +24955,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -69371,7 +69219,7 @@ "/organizations/{organization_id}/custom_roles": { "get": { "summary": "List custom repository roles in an organization", - "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.5/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", + "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nTo use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope.\nGitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.5/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", "tags": [ "orgs" ], @@ -95886,14 +95734,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -96837,14 +96677,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -101109,17 +100941,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -182527,6 +182348,11 @@ "url_template": { "type": "string", "description": "The URL must contain `` for the reference number." + }, + "is_alphanumeric": { + "type": "boolean", + "default": "true", + "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." } }, "required": [ @@ -182538,7 +182364,8 @@ "default": { "value": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true } } } @@ -187709,6 +187536,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -192216,6 +192152,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -197102,7 +197117,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -197119,12 +197134,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -197339,7 +197365,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -197356,12 +197382,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -197548,7 +197584,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -197565,12 +197601,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -200692,7 +200738,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -200709,12 +200755,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -201086,7 +201142,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -201097,18 +201153,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -201479,7 +201545,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -201496,12 +201562,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -202148,7 +202224,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -202170,6 +202246,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -202508,7 +202594,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -202530,6 +202616,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -202867,7 +202963,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -202889,6 +202985,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -226180,6 +226286,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -226987,7 +227094,7 @@ }, "delete": { "summary": "Delete a code scanning analysis from a repository", - "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `analysis_key`\n* `environment`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", + "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `category`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", "operationId": "code-scanning/delete-analysis", "tags": [ "code-scanning" @@ -282507,14 +282614,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -285879,6 +285978,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -291905,7 +292012,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -295355,7 +295463,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -304006,7 +304115,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -308940,7 +309050,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -312235,7 +312346,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -312416,6 +312528,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -315653,7 +315775,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -319098,7 +319221,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -322340,7 +322464,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -419640,7 +419765,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.5/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.5/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.5/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.5/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -432413,7 +432538,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -456099,14 +456225,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -500060,14 +500178,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", diff --git a/lib/rest/static/dereferenced/ghes-3.6.deref.json b/lib/rest/static/dereferenced/ghes-3.6.deref.json index d567f62dab..1aee1e62fd 100644 --- a/lib/rest/static/dereferenced/ghes-3.6.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.6.deref.json @@ -4292,14 +4292,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -5537,14 +5529,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -6327,14 +6311,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9323,14 +9299,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10260,14 +10228,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -10983,14 +10943,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11276,14 +11228,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -14786,14 +14730,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -15760,14 +15696,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -16606,14 +16534,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -17154,14 +17074,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -18665,14 +18577,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -19649,14 +19553,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -20706,14 +20602,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -21504,14 +21392,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -22539,14 +22419,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -23337,14 +23209,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -24246,14 +24110,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -25180,14 +25036,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -70494,7 +70342,7 @@ "/organizations/{organization_id}/custom_roles": { "get": { "summary": "List custom repository roles in an organization", - "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", + "description": "List the custom repository roles available in this organization. In order to see custom\nrepository roles in an organization, the authenticated user must be an organization owner.\n\nTo use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope.\nGitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint.\n\nFor more information on custom repository roles, see \"[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)\".", "tags": [ "orgs" ], @@ -97631,14 +97479,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -98582,14 +98422,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -102935,17 +102767,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -187041,6 +186862,11 @@ "url_template": { "type": "string", "description": "The URL must contain `` for the reference number." + }, + "is_alphanumeric": { + "type": "boolean", + "default": "true", + "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." } }, "required": [ @@ -187052,7 +186878,8 @@ "default": { "value": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true } } } @@ -192223,6 +192050,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -196730,6 +196666,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -201616,7 +201631,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -201633,12 +201648,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -201853,7 +201879,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -201870,12 +201896,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -202062,7 +202098,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -202079,12 +202115,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -205206,7 +205252,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -205223,12 +205269,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -205600,7 +205656,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -205611,18 +205667,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -205993,7 +206059,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -206010,12 +206076,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -206662,7 +206738,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -206684,6 +206760,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -207022,7 +207108,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -207044,6 +207130,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -207381,7 +207477,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -207403,6 +207499,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -231080,6 +231186,7 @@ "ref": "refs/heads/main", "analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "environment": "", + "category": ".github/workflows/codeql-analysis.yml:CodeQL-Build", "state": "open", "fixed_at": null, "commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930", @@ -231887,7 +231994,7 @@ }, "delete": { "summary": "Delete a code scanning analysis from a repository", - "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `analysis_key`\n* `environment`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", + "description": "Deletes a specified code scanning analysis from a repository. For\nprivate repositories, you must use an access token with the `repo` scope. For public repositories,\nyou must use an access token with `public_repo` scope.\nGitHub Apps must have the `security_events` write permission to use this endpoint.\n\nYou can delete one analysis at a time.\nTo delete a series of analyses, start with the most recent analysis and work backwards.\nConceptually, the process is similar to the undo function in a text editor.\n\nWhen you list the analyses for a repository,\none or more will be identified as deletable in the response:\n\n```\n\"deletable\": true\n```\n\nAn analysis is deletable when it's the most recent in a set of analyses.\nTypically, a repository will have multiple sets of analyses\nfor each enabled code scanning tool,\nwhere a set is determined by a unique combination of analysis values:\n\n* `ref`\n* `tool`\n* `category`\n\nIf you attempt to delete an analysis that is not the most recent in a set,\nyou'll get a 400 response with the message:\n\n```\nAnalysis specified is not deletable.\n```\n\nThe response from a successful `DELETE` operation provides you with\ntwo alternative URLs for deleting the next analysis in the set:\n`next_analysis_url` and `confirm_delete_url`.\nUse the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis\nin a set. This is a useful option if you want to preserve at least one analysis\nfor the specified tool in your repository.\nUse the `confirm_delete_url` URL if you are content to remove all analyses for a tool.\nWhen you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url`\nin the 200 response is `null`.\n\nAs an example of the deletion process,\nlet's imagine that you added a workflow that configured a particular code scanning tool\nto analyze the code in a repository. This tool has added 15 analyses:\n10 on the default branch, and another 5 on a topic branch.\nYou therefore have two separate sets of analyses for this tool.\nYou've now decided that you want to remove all of the analyses for the tool.\nTo do this you must make 15 separate deletion requests.\nTo start, you must find an analysis that's identified as deletable.\nEach set of analyses always has one that's identified as deletable.\nHaving found the deletable analysis for one of the two sets,\ndelete this analysis and then continue deleting the next analysis in the set until they're all deleted.\nThen repeat the process for the second set.\nThe procedure therefore consists of a nested loop:\n\n**Outer loop**:\n* List the analyses for the repository, filtered by tool.\n* Parse this list to find a deletable analysis. If found:\n\n **Inner loop**:\n * Delete the identified analysis.\n * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration.\n\nThe above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely.", "operationId": "code-scanning/delete-analysis", "tags": [ "code-scanning" @@ -288594,14 +288701,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -292053,6 +292152,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -298247,7 +298354,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -301778,7 +301886,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -310510,7 +310619,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -315525,7 +315635,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -318901,7 +319012,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -319082,6 +319194,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -322400,7 +322522,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -325926,7 +326049,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -329249,7 +329373,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -427919,7 +428044,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -441115,7 +441240,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -465074,14 +465200,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -510216,14 +510334,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index c74a79e1b1..6e8ef493b2 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -2762,14 +2762,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -3668,14 +3660,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -4458,14 +4442,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -7453,14 +7429,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -8390,14 +8358,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9113,14 +9073,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -9406,14 +9358,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -11981,14 +11925,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -12955,14 +12891,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -14027,14 +13955,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -48135,6 +48055,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -48389,6 +48351,30 @@ "examples": [ "\"http://github.blog\"" ] + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/github-ae@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether Dependabot alerts is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/github-ae@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether Dependabot security updates is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/github-ae@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/github-ae@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/github-ae@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories.\n\nTo use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see \"[Managing security managers in your organization](https://docs.github.com/github-ae@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).\"\n\nYou can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request." } } }, @@ -48760,6 +48746,48 @@ "updated_at": { "type": "string", "format": "date-time" + }, + "advanced_security_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_alerts_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to\nthis organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependabot_security_updates_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependabot security updates are automatically enabled for new repositories and repositories transferred\nto this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "dependency_graph_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether dependency graph is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning is automatically enabled for new repositories and repositories transferred to this\norganization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] + }, + "secret_scanning_push_protection_enabled_for_new_repositories": { + "type": "boolean", + "description": "Whether secret scanning push protection is automatically enabled for new repositories and repositories\ntransferred to this organization.\n\nThis field is only visible to organization owners or members of a team with the security manager role.", + "examples": [ + false + ] } }, "required": [ @@ -61875,14 +61903,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -62826,14 +62846,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -67103,17 +67115,6 @@ } } }, - "302": { - "description": "Response if requester is not an organization member", - "headers": { - "Location": { - "example": "https://api.github.com/orgs/github/public_members", - "schema": { - "type": "string" - } - } - } - }, "422": { "description": "Validation failed", "content": { @@ -144214,6 +144215,11 @@ "url_template": { "type": "string", "description": "The URL must contain `` for the reference number." + }, + "is_alphanumeric": { + "type": "boolean", + "default": "true", + "description": "Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters." } }, "required": [ @@ -144225,7 +144231,8 @@ "default": { "value": { "key_prefix": "TICKET-", - "url_template": "https://example.com/TICKET?query=" + "url_template": "https://example.com/TICKET?query=", + "is_alphanumeric": true } } } @@ -149396,6 +149403,115 @@ "protected", "protection_url" ] + }, + "examples": { + "default": { + "value": { + "name": "main", + "commit": { + "sha": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "node_id": "MDY6Q29tbWl0MTI5NjI2OTo3ZmQxYTYwYjAxZjkxYjMxNGY1OTk1NWE0ZTRkNGU4MGQ4ZWRmMTFk", + "commit": { + "author": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "committer": { + "name": "The Octocat", + "email": "octocat@nowhere.com", + "date": "2012-03-06T23:06:50Z" + }, + "message": "Merge pull request #6 from Spaceghost/patch-1\n\nNew line at end of file.", + "tree": { + "sha": "b4eecafa9be2f2006ce1b709d6857b07069b4608", + "url": "https://api.github.com/repos/octocat/Hello-World/git/trees/b4eecafa9be2f2006ce1b709d6857b07069b4608" + }, + "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comment_count": 77, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "html_url": "https://github.com/octocat/Hello-World/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d", + "comments_url": "https://api.github.com/repos/octocat/Hello-World/commits/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d/comments", + "author": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "committer": { + "login": "octocat", + "id": 583231, + "node_id": "MDQ6VXNlcjU4MzIzMQ==", + "avatar_url": "https://avatars.githubusercontent.com/u/583231?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, + "parents": [ + { + "sha": "553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e", + "html_url": "https://github.com/octocat/Hello-World/commit/553c2077f0edc3d5dc5d17262f6aa498e69d6f8e" + }, + { + "sha": "762941318ee16e59dabbacb1b4049eec22f0d303", + "url": "https://api.github.com/repos/octocat/Hello-World/commits/762941318ee16e59dabbacb1b4049eec22f0d303", + "html_url": "https://github.com/octocat/Hello-World/commit/762941318ee16e59dabbacb1b4049eec22f0d303" + } + ] + }, + "_links": { + "self": "https://api.github.com/repos/octocat/Hello-World/branches/main", + "html": "https://github.com/octocat/Hello-World/tree/main" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [ + + ], + "checks": [ + + ] + } + }, + "protection_url": "https://api.github.com/repos/octocat/Hello-World/branches/main/protection" + } + } } } } @@ -153903,6 +154019,85 @@ "required": [ "url" ] + }, + "examples": { + "default": { + "value": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection", + "required_status_checks": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks", + "strict": true, + "contexts": [ + "continuous-integration/travis-ci" + ], + "contexts_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_status_checks/contexts", + "checks": [ + { + "context": "continuous-integration/travis-ci", + "app_id": null + } + ] + }, + "restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/teams", + "apps_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/restrictions/apps", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + }, + "required_pull_request_reviews": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_pull_request_reviews", + "dismiss_stale_reviews": true, + "require_code_owner_reviews": true, + "required_approving_review_count": 2, + "dismissal_restrictions": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions", + "users_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/users", + "teams_url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/dismissal_restrictions/teams", + "users": [ + + ], + "teams": [ + + ], + "apps": [ + + ] + } + }, + "required_signatures": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/required_signatures", + "enabled": false + }, + "enforce_admins": { + "url": "https://api.github.com/repos/octocat/hello-world/branches/main/protection/enforce_admins", + "enabled": true + }, + "required_linear_history": { + "enabled": true + }, + "allow_force_pushes": { + "enabled": true + }, + "allow_deletions": { + "enabled": true + }, + "block_creations": { + "enabled": true + }, + "required_conversation_resolution": { + "enabled": true + } + } + } } } } @@ -158789,7 +158984,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -158806,12 +159001,23 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding status checks to a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci", + "continuous-integration/jenkins" + ] + } + } } } } @@ -159026,7 +159232,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -159043,12 +159249,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example updating status checks for a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -159235,7 +159451,7 @@ "properties": { "contexts": { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } @@ -159252,12 +159468,22 @@ }, { "type": "array", - "description": "contexts parameter", + "description": "The name of the status checks", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing status checks from a branch protection rule", + "value": { + "contexts": [ + "continuous-integration/travis-ci" + ] + } + } } } } @@ -162379,7 +162605,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -162396,12 +162622,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example adding a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -162773,7 +163009,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -162784,18 +163020,28 @@ ], "example": { "teams": [ - "my-team" + "justice-league" ] } }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -163166,7 +163412,7 @@ "properties": { "teams": { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } @@ -163183,12 +163429,22 @@ }, { "type": "array", - "description": "teams parameter", + "description": "The slug values for teams", "items": { "type": "string" } } ] + }, + "examples": { + "default": { + "summary": "Example removing a team in a branch protection rule", + "value": { + "teams": [ + "justice-league" + ] + } + } } } } @@ -163835,7 +164091,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -163857,6 +164113,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example adding a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -164195,7 +164461,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -164217,6 +164483,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example replacing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -164554,7 +164830,7 @@ "properties": { "users": { "type": "array", - "description": "users parameter", + "description": "The username for users", "items": { "type": "string" } @@ -164576,6 +164852,16 @@ } } ] + }, + "examples": { + "default": { + "summary": "Example removing a user in a branch protection rule", + "value": { + "users": [ + "octocat" + ] + } + } } } } @@ -185051,6 +185337,33 @@ "6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53" ] } + }, + { + "name": "direction", + "description": "The direction to sort the results by.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "desc" + } + }, + { + "name": "sort", + "description": "The property by which to sort the results.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "created" + ], + "default": "created" + } } ], "responses": { @@ -240816,14 +241129,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -244199,6 +244504,14 @@ ] } } + }, + "examples": { + "default": { + "summary": "Example request body", + "value": { + "permissions": "write" + } + } } } } @@ -250241,7 +250554,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -253696,7 +254010,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -262367,7 +262682,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } ] @@ -267306,7 +267622,8 @@ "closed_at": null, "created_at": "2011-04-22T13:33:48Z", "updated_at": "2011-04-22T13:33:48Z", - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -270606,7 +270923,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -270787,6 +271105,16 @@ "closed" ] }, + "state_reason": { + "type": [ + "string", + "null" + ], + "description": "The reason for the current state", + "examples": [ + "not_planned" + ] + }, "milestone": { "oneOf": [ { @@ -274029,7 +274357,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -277479,7 +277808,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -280726,7 +281056,8 @@ "type": "User", "site_admin": false }, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } } } @@ -376745,7 +377076,7 @@ "/repos/{template_owner}/{template_repo}/generate": { "post": { "summary": "Create a repository using a template", - "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/github-ae@latest/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/github-ae@latest/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", + "description": "Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/github-ae@latest/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.\n\n**OAuth scope requirements**\n\nWhen using [OAuth](https://docs.github.com/github-ae@latest/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include:\n\n* `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository.\n* `repo` scope to create a private repository", "tags": [ "repos" ], @@ -387727,7 +388058,8 @@ "body": "...", "score": 1, "locked": true, - "author_association": "COLLABORATOR" + "author_association": "COLLABORATOR", + "state_reason": "completed" } ] } @@ -407823,14 +408155,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", @@ -447751,14 +448075,6 @@ "write" ] }, - "organization_custom_roles": { - "type": "string", - "description": "The level of permission to grant the access token for custom roles management.", - "enum": [ - "read", - "write" - ] - }, "deployments": { "type": "string", "description": "The level of permission to grant the access token for deployments and deployment statuses.", 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 aeb1374b47..310f6a724d 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:22ad1101b0062dc502b2aa7bcea81df24901de6167ba08f538e212750a660007 -size 795519 +oid sha256:10305ffca722f9497da5dccfee5ca6554253de266f0ea719d177917ef0d96c60 +size 795177 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 ed0470fa48..6c5a8cd786 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:5b17d333b75b17667ddea904814cd3747f0ea268acaa229cac57b300456503a1 -size 1646670 +oid sha256:542a252eadbb7f572ba5de5c7462e3665aa53735d63485a5b2a81e8fdce63877 +size 1645913 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 e21a88bf66..2187958708 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:98b4fe70ac886b93b4e31200e5edc72ea258c6663d91e72cc2ea8c9c842c22eb -size 1093950 +oid sha256:2dc5860c4574cf8577076e6529ef4783807d769dcb1b3480c5b0a00d994a91ed +size 1095553 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 2ad380f896..77fa3be5e0 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:6333de487dc7ce6685cf6ebbfd9b14a35030ed3a474c088276a4c4595b19e87d -size 4437354 +oid sha256:5ea1535092ea321dbc573ae92bcd3c44bd717809d4d64abc0109c22812f8966c +size 4443671 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 f052f11e22..a7b6c03961 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:eb6359239ab58db446dc542b637cdd6380e105063c11ba1e266a85dd211b6cf2 -size 733962 +oid sha256:8437af322a6cbf905106b8a88aa7c0b7eaa7eb482743ca75cedf081b573222e4 +size 734155 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 4c22875118..f469750802 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:6e82c66cb94dd87c9cce4a09e247a8564f09fb68318c00437cf5f4fa6b86a5c6 -size 3128979 +oid sha256:d459b7c5dae4fc6973f6e30285842ad21fddfbc07201fb4a09939a929b340d52 +size 3127165 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 e0007c6c0e..5e76d69502 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:45a5aa3daacf9574a354f7de2081941d7238090c69c78b6419e94564595162f1 -size 810567 +oid sha256:fe395396f95396d5309a669f23c05657c70f2bdfa7cebffee9c9a15826a938c3 +size 810791 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 93d0d83ff8..8e3d3fa495 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:c3ea54c4179d2b556fcce3a9bf517cef87c250df37b6659e4abb97654d7c3084 -size 4449324 +oid sha256:0d31b26697e8f10798a21e33d022d5e1269c0948c0eec62dc792fcf0e49598e6 +size 4455087 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 1efdb061fe..b2f76a724c 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:bee713673cf6c4b63980d34bc2b0dfd39fdb1128376ce8672d6f5dccb360ab3f -size 723025 +oid sha256:0ad06cd7939816e3841ebdf682b3557fc64451766a5d1c09551da40c917c6f52 +size 722895 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 07c4789ab4..3309c63e73 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:ea9c175811fd46af90302d25e2359c54f2817b8f2264b9d0399db03409a3c8ef -size 3025512 +oid sha256:e17fd9906fb32c2941816c9ff7de2a1d0afe76f6045fe65ef63f3024b691bca9 +size 3022640 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 bf20f52d5c..227e5872e7 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:0c978972e400e86141255d57ec49ed967eddec8971481b82def894b3dd3ccdde -size 820982 +oid sha256:fb5e185c567a0d7f0ba865ae64a78f2c27fea5761aee2559d37b40d70e0c2f22 +size 820956 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 3f8f4ea63b..6e0bafc3f2 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:d20b766cc0e383ad2aed00c798645ad288878ab146545d373eb41fb180dd3973 -size 1694081 +oid sha256:2eb4933dce2c39d0629008d97c32b9ee9d94464347e86ee2c7024863538a29f0 +size 1694012 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 d4cc9fec5c..3f37cfb333 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:204c63254a38127a8f45426e62ebbe0214bdcfae474ae3b60f5645cd954d2909 -size 1128612 +oid sha256:460feb77d1819bba14164d32a73d6cd79142f9a11a0d1b558e119fffb3b67723 +size 1130620 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 38bdb87363..a0794b24cf 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:f830f988f9d18f55cc88c978da711f24d68b20de94f19a47e7c3404356d0b930 -size 4539083 +oid sha256:ef5430df67cd2624b43d559e4338e3bf2013019755db9e10db2fe81dd8c64048 +size 4547467 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 a6ce561f70..8376e3dd50 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:429d99165bd74fefd92933390856e8591984d99fdaf92463faf483e6064d9a9c -size 755091 +oid sha256:78df7a88264596072250995ab1a31e0534443c8d69d15816b3957c2b36cf9040 +size 755382 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 81680cae35..f4a6a3e658 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:863c11770babd1a8bb6ae62ef8bc8cbea1d17f680ee2cf5952bd59a51479dc6a -size 3213421 +oid sha256:0e39815546c90a4c6fe67c48e30e00d9c139c82ca09a52bcfc5301c3ca00f997 +size 3211641 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 848393ef04..749183ef33 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:1d2d77ac6e0435b2d477fe9fcddb40660c3bf4b38de418abac4dfaab773efd54 -size 836007 +oid sha256:41b1e1574494a8b6ecd8f01c977704bb59381691943dc350326460aa92189e25 +size 836435 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 02177a9233..013065168d 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:530acd876bc97b8c5dc7c123fe632407caf8adc0f251786b38e0232077656016 -size 4583835 +oid sha256:a4b310defec03261d115ac8fd0c6c60e4f96700118a78ca207d8fd9fd4440d6a +size 4589843 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 8f415cdd88..83e8334f52 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:5caa47dff09992b0c55e0e588d780cb60656387327106e01b1df728726cdfa87 -size 744596 +oid sha256:b28b9222d48551aa0035be4b72a0645f510cea1e56c078af936310289abd01cb +size 744570 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 6068cb7e8f..f91d187b11 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:6de782b039a2cf8044a6eb5ca228e0c835ed5fe97c93af40d185e5de5291d623 -size 3110322 +oid sha256:03023e85e34e7f3e30d2c554ff697f7fcab62ef45fa3a377980f03824bf5ae74 +size 3108809 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 7525b67a48..5f5bc8e736 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:c93043622c60ac418851eb925e13b3311ba5b07d73af0ba7d5d863711b3328d1 -size 823598 +oid sha256:0755a52c0668c8a112ffb31690d93a3a12f431c836d8a82f69f4be2325ad9641 +size 823418 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 469f6522bd..101b42311a 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:8dfd3c044a69c98ec202ee4bcc81952bd5b0572c240031ea61e4088d8397a742 -size 1710388 +oid sha256:dc53f18b975cf32137b48b3a86f2e3c4e8f5122a152577c6bdacd3a5690f79e5 +size 1710373 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 2d610a8489..f4ed376e69 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:59a78b591ec3772f15739b51be432faf4ebb1228dbe9432dd132a53ec064e742 -size 1140332 +oid sha256:155b7c1a60d9a3a7b0721ab3df3de82833327c87ecdd7a83e1ed8dcd34593997 +size 1142432 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 96830dbb6b..d3abb5d2f0 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:248d1ddfc3154c5817f92c7e776b8ddb5f7f0c6f1a68de44249261b4f94e0f34 -size 4599024 +oid sha256:01f602b549b5f559a53490017ad8bbda9091e15295ba66d1701f4e88d2438aa5 +size 4606670 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 412fe86a8a..45412bbff7 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:47de1224b0e9a9810d32582d7f0ee39a01fd8ec84c1b64b88fecfc63bed37554 -size 759770 +oid sha256:7d38164ad58959c6f5630da65fc6347a7ac21548396129d9e427eb56582df5fa +size 760181 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 cb449e55ef..1fa24d0e12 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:23b88b81e508a191568c480ac036a82a35b016acdcd77bb02f101bf5f6f1f4c2 -size 3236744 +oid sha256:d575582ad6bdf4f7b926b0aeb82998f6ae4ce9ca85195eb0dd4bc131d826f330 +size 3236306 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 4ce1b46b67..163bd08226 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:3824b028383bed280b77b975d18b238c5dce9d2ad198b1d871ce3b0a3de3ada3 -size 839343 +oid sha256:0a091f2b28c44d5a0aeb7c197d011b86ec02dd193abbb91734c1f79177ceb575 +size 839778 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 dc0707b73d..d9ffb87138 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:48707d9ede55406522be38edee485da909e8d0d2dc177ee3808db5cbfddd2dec -size 4617188 +oid sha256:a3af0a7760f0b467ae5f2582a6f4d92cafc6db8e2c4d3194f3d7fa5e3e782de7 +size 4624728 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 01357bc684..957f95adf0 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:c690fddd3f2de3e7204eac45e144f164c49b048a507b8906fc8aa22bd04467f5 -size 748796 +oid sha256:447610bb5b208f2c73ee28fbfa3ae1806f871b40a638b3a5cb9d500fb7b506c8 +size 748971 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 a25204e123..9bcc1e7282 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:35db8743e125a03365849a42c1311d356d555fbf92b5e1818a3edd011baddd15 -size 3136315 +oid sha256:3669e463e683f29c68616249df694e042077eb6a799ae8c4426fdea19a8841ec +size 3133698 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 855392f927..1dc0cfb089 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:7c38ae6f98d495c233c0c68cd889e62cba4d09b3b027240ad85e64e7704aaaa7 -size 854211 +oid sha256:fb45c4a72225c50b4a11465fedce1315a8f3f785d80cc09dcf4414634aa56382 +size 855000 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 92dce6394c..6a07730605 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:effe220e707c5be04f583e3ba5ea7982f254e92592e35d862bb1ec90a0b7308a -size 1774660 +oid sha256:a6b5266e6cdda57f7deaa26963a8fa8937875128897063ac473f10db5c13696d +size 1779376 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 8dce7e3cd6..a1de15a320 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:a8a4c3656287461a2eb471d788cdb8b4b2d564bbd69f8db70532217226655aa4 -size 1181142 +oid sha256:58fdc2fcb056ff6338a43627cb9ebf176f0e0b8949874dfb1b2800548cc2ab1a +size 1182749 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 62d2076008..52ad559fff 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:81c8bc4e5aef60db699a0591bcf95720080c27d72a5eabbf783d6b6b4b9df454 -size 4762151 +oid sha256:5fbfff79f35d7674c48c878680c224ea98b9900731cf2524e37ac861204fd091 +size 4771789 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 f252ce2bb8..a7e1f16425 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:adde8df239867a34bc2709f401e0e9c3ec748034fdec66f177e39a8345bcd5a9 -size 784166 +oid sha256:36a22afc73a5ab1ab817183596f2222e7837f82e3daaf81220b6d798010dd01e +size 784878 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 c070970eca..db1e57b6f0 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:ecc38397bf2506d7e5d8c3d98331457bffdbab73fa8290f9aa2ba5714908c626 -size 3355597 +oid sha256:9788ad22b7d4808b3fb0ef447fc1574de46132ad4b101455c27b2a4336d5aef0 +size 3356277 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 2a931adb90..c4a79c1f0d 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:398d0c0cbce1f3089d9f618430b0934ecc3d6ff278d069b58b14417496d5e8e8 -size 867774 +oid sha256:b543758f2e6c9b779ec3b9a1856a414292fd393dc348e6ba3645ad3e5ab5c95a +size 869001 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 4dac2eedc7..f06f182a46 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:0cf69d0e5950c8cd0d8f3982f9204200906c4a3dc5c07a15429379f9912d19e9 -size 4791698 +oid sha256:8836ff3b83cf43d4d643b10d8a0a4daabc754f4a4eb946657618fe3fc0c17f37 +size 4801338 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 679ac60782..21441d0433 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:ab7afc6b00e6e1ee6fbee698fea7535009023eda9ebc74078f9783eb6c521484 -size 772799 +oid sha256:5ed07dacadb8852b059682354b5255eb11b53907b10bf489bdfe922ae317850c +size 773346 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 0d5c76e178..96c707846d 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:2cd58e8aa4c7a7452c8ecc9a9c6c95c022988c89a5248ce6dfd7b476a7796526 -size 3249478 +oid sha256:04d26e91a10a23d9ca25ee87235ab889b973428d02e331cdec1273fe39cdabe7 +size 3249281 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 ce51f75377..b843d3a916 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:99cc5bc122cecbd49203c5435e484bb2a40b4ad695319d82054844ff5fe1f75d -size 875835 +oid sha256:53b7e111a62214f27391cecf91ae384f4fb83b62bffe36c40e87c8744874dfdd +size 876364 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 f60a4e032d..19e3d12418 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:e445f6bc399d8ed2434b6ba1d5416b85c8a9afafe1a6c0860b1ce06022a0c09f -size 1821872 +oid sha256:2d5f077c9756ad7f650f0ca99024b7d660ddbb667c3b32435a880ad1fff0a2ee +size 1827124 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 68dae82dca..7fdbfd6284 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:31ec862b7cb24a77f1186f04d02463df725fff2b21ba257723d17d771349a908 -size 1209274 +oid sha256:396095cf853c678dcaa6601868f43428c1e234892a2792212a7c5d69ef4a1c56 +size 1210789 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 9ac7d28a9d..06379a8444 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:58d7ee74a257b904235915b566cc5486429b863286c387bf5179f1b954880e51 -size 4877434 +oid sha256:927f7cef9a139f99aab6f73b8695dcce9ecee9d68fc415aea012985797d35cfc +size 4884021 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 b78f740346..5efc91bcde 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:5cc24d0349ec0bb0c1c261c021f4c393a5a608ed06956e9382f711ce7fa205ae -size 804165 +oid sha256:f1dc907de8efeba3cd236c2b60c3d3d9601e264b4dcc8c2c59b262faef281a44 +size 804999 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 bcde39ff85..3c3699f676 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:b3609a60bcb3b6fbfebf29dbf50f06ae19dd598db0454a4b44ec15b6c9e1316e -size 3448102 +oid sha256:596019a4d9dcba7567aa52b32788f1ecc067d3dbedc6ce1f797c52d979002a06 +size 3447782 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 067e6d13c0..bdc4dee965 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:af4042d1b34cb35f7ff4b6febeb35b7b417931ca9df6a109582de1e4d86b5d0c -size 889592 +oid sha256:c7fe92822f26bb049d8d3f97b37f3f15089cb7beb769e2f4279f7954b6d507a8 +size 890905 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 88f8601e0e..a914c21e8e 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:1b5968cd36ce15a0d69fbc4e9fe47cfc99c92e3104672ef804bc7401033027d2 -size 4918095 +oid sha256:aa6f104e81268e7055849d7f134df5fad8ccb4e390225cdc41ca3b69bf252643 +size 4928388 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 bcc965556c..5c54cbc8c3 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:8d6869da56159d9d97541fae94ad747409e587e97178747fc9ff93e94444d546 -size 792857 +oid sha256:d9725a309e73e38d9955508e84a4784fa94baf0a9ef1991fa80387f604b4bc8c +size 793485 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 f99d5ebb76..0f0e95fa94 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:243dd4c495545a94e1f29389032d7eebff4241d863764dc760b7947a7eb42020 -size 3341514 +oid sha256:c8ff612fd7785ef832c65a3da9b2c8c1805f832612475a93e77682891597e86e +size 3340717 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 7abfc97648..8d49e9e4f3 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:bc170ff524e7d7089180945720a62d4be98357d749b2a9c8017b5a3a6c59b4fc -size 1037249 +oid sha256:515f3b95567c11d6483a083de32a0121f7a0127a4a55760d2d7db613c3c40b82 +size 1039194 diff --git a/lib/search/indexes/github-docs-dotcom-cn.json.br b/lib/search/indexes/github-docs-dotcom-cn.json.br index f89cb43f1a..667d7c83f8 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:7faeb77466b77cde851e96f675bb5aad3d9226e17eb264533930241caa9dbdf3 -size 1870447 +oid sha256:efe390ac24d334acec84f25babbf5b07bb9ca67c2910495161b4d4040a9c70fb +size 1887116 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 22ecb68c02..e863c59510 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:6a55320e14ccfce62f5f93bff8f7149bd40805c7a63591d527724d3abfd5d9d9 -size 1457192 +oid sha256:1fb7bf9b6d084e8af49d4a4f99200d8d59dd0921d6290136895de849d969d3ad +size 1456504 diff --git a/lib/search/indexes/github-docs-dotcom-en.json.br b/lib/search/indexes/github-docs-dotcom-en.json.br index f66b3ec106..b4c2c094a9 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:5045b5bd2174ddbf53779595584f0d7736e19609926b3f48ae817a1e83644f3b -size 5611688 +oid sha256:cab1ff5a70896b337427cf2f0bcf2f32d40eb1c437839915cb7d1e55742b1133 +size 5642431 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 e2a7f651b9..7dd7be5d64 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:cee660821a66fbdd4ee56240b769e9e936291eaaf82927d548c1bcf80311b52f -size 935490 +oid sha256:e3bbdf22f7d2d1637b0d4f310eb8a32396f378cde955919b70551dcc5da531b7 +size 937804 diff --git a/lib/search/indexes/github-docs-dotcom-es.json.br b/lib/search/indexes/github-docs-dotcom-es.json.br index 42dd8846ab..62d49a9d20 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:f33c375a880e3235dbc01630c81af0a724d8e4b26049e540fdf306b0fbcce765 -size 3883219 +oid sha256:a69de89c81d96d683f2734455aa1c81f2f60940e83c586a936ea7bcade032b3d +size 3893395 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 59ae42855e..15974a0975 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:5701773ea7c94d2fab5a2ee6d2a95ad6ca5d9e8e35394467efef9bc59688d9be -size 1044360 +oid sha256:1d28cccaeb1938bd93dbf9f7069033f3af7989866292d6163382234ee764d6ca +size 1047664 diff --git a/lib/search/indexes/github-docs-dotcom-ja.json.br b/lib/search/indexes/github-docs-dotcom-ja.json.br index 88ca95233c..8b358b001a 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:f9e4f6806720acf2bbaaa6a3ef36bdba9301a2a0e21aa1ff2b3b0b2d8a9b0375 -size 5608324 +oid sha256:bcba3a18466768ca566d3588925c564803033d213f35ae79c4f8fbb0fd4373dc +size 5633994 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 2b429a9fb1..ed81a0c3e7 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:595b1a48cf8037aaa8701c5ce13d462193e5c7266381fbdfc75b1c64c08e04d1 -size 924386 +oid sha256:4cb8d9b749f38a8b313b33b63ded9b5839f69fbb48152e38c9eecc9f44849d19 +size 926383 diff --git a/lib/search/indexes/github-docs-dotcom-pt.json.br b/lib/search/indexes/github-docs-dotcom-pt.json.br index fdbe5f337a..6a914e83a5 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:5b56d0889bd72257f0285c1c9a162f596f4401659a242a18e9ca150e695dee29 -size 3789555 +oid sha256:639d925eae0c07439165faba0f9690edcb1bb8178b67c33e475be34bda791fe8 +size 3791974 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 84e7694e65..f2107bfcc8 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:9071e66bd6fb380615c6d5f5997b090682d2f7c987e17cbcc81769792404418d -size 660255 +oid sha256:7f10ca82a8cf4e861a475304476470db8b1d1506c98fd793ae2cd1378308fa0e +size 660892 diff --git a/lib/search/indexes/github-docs-ghae-cn.json.br b/lib/search/indexes/github-docs-ghae-cn.json.br index 8182648423..86daf2b815 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:ae5b131c9e8d1efb628bde02da4a3fa33b7bce19bb1eabb30680a15806f59e89 -size 1318233 +oid sha256:1aaccb203149b14c5f8c2da8217aea48900d183218266671a05c8f9a11c7c1e1 +size 1322817 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 23cee0454d..ee71411f78 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:c30b4c7c6af269480f604f812f6255f8ddb586b84fdd320d82ab5280d64a7a41 -size 938035 +oid sha256:56392e75bedd95e8ad23d0f2ce54d498b33a8486fdb0627d75f3721240dec30e +size 939875 diff --git a/lib/search/indexes/github-docs-ghae-en.json.br b/lib/search/indexes/github-docs-ghae-en.json.br index 53fcc5da52..174d39caf6 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:a08c7ada9dec470d8e31325bc87e4655cf68855eaf744a03d3d06a69a9356f11 -size 3720477 +oid sha256:aa7829a8e1be18d67c9c4f40633b86b1eff4eb65d34688f7a93825f20793066e +size 3730188 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 4d9cee1a43..04edc3ce12 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:22733f228304c15659938569a1288d65ff3073b69c350a0cef02dcbbd03c72fd -size 613471 +oid sha256:a43530d9ebf23ea217cd39733b0687b3d6501db3fd883560e0c297d090b4ef75 +size 614591 diff --git a/lib/search/indexes/github-docs-ghae-es.json.br b/lib/search/indexes/github-docs-ghae-es.json.br index 53834412b8..d63def1173 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:db74c4c303caadb4c7434b43fb91b256f44558875e0432092f611071781591c3 -size 2533834 +oid sha256:1e645c85ee2a9d4fbfd59ab45a4c065eef648b878ef35bc0f8548ab8a385e566 +size 2537165 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 630e6e1870..44b269ec30 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:9ff4e38160b4adcb27860b17327dcc8a4cea34bbd7edee99c0c326663dc12c84 -size 673392 +oid sha256:c307a8e3e2bd2f54cbec89d0508f02d8cf509e2f859b772049e6a022ccbea8b1 +size 674328 diff --git a/lib/search/indexes/github-docs-ghae-ja.json.br b/lib/search/indexes/github-docs-ghae-ja.json.br index 22e40f298d..f6a30b66a4 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:a489885c95c30351cfcb24a14060bce6eb8c974bc8ecea05834340ddd0cfd88b -size 3600172 +oid sha256:d1f0a93a94cbe908add76fdb80942b3ae79e785d3eda63cb2c9ab60b3f93cc61 +size 3609650 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 5db5b54ad1..9747b3f492 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:b0686666752a8db2c61b508fa564aae1fa16a23bf09fafe3b3e25ce32bcc4341 -size 605007 +oid sha256:2cc054006199910d18e03bea293cde1b4da185c8f13b0782310f337654be22e4 +size 605882 diff --git a/lib/search/indexes/github-docs-ghae-pt.json.br b/lib/search/indexes/github-docs-ghae-pt.json.br index 03dd466129..82ea70d2df 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:994eb22cdc2f44ccd3ae36d065bacfbe4df9d2cd8a6eabeaf64e6063f227db98 -size 2433869 +oid sha256:aeb67a3c30b32c83cfe24a3e33c0c2abf301f73fc213aa6ea56f09dfb86ee468 +size 2433828 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 c51388c517..ecac94580f 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:10e266f07eed6dba1ce4c3305d96c52b5a732898a154f963196961baa6dad2b0 -size 1008653 +oid sha256:7facdd2ba7b1d50df5317124d8a5067eff0d02804a103e275d1ad0720f017b6f +size 1011737 diff --git a/lib/search/indexes/github-docs-ghec-cn.json.br b/lib/search/indexes/github-docs-ghec-cn.json.br index e58f9e02c6..e41b90fcb7 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:a03e8296539cc714aa84579289964ed0a5de29bb0deac72ddbe3e70780300255 -size 1998500 +oid sha256:21f01134f563ffd276c638564b628a55fd77d83a78cc1569be7238565c46305a +size 2020079 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 1af695f8dc..1015d584eb 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:b8c5014fa0a13e00f56b8aa66fbbda14a35c7d2b11b3770f9ddf53ff1341c148 -size 1387335 +oid sha256:a59d08b4f31e0a75b8c1e743c6d4225f55a1462c52df002087963bc276c95270 +size 1394277 diff --git a/lib/search/indexes/github-docs-ghec-en.json.br b/lib/search/indexes/github-docs-ghec-en.json.br index df9ed5c80b..f4d9963911 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:fd9079531d2e5f9553748f4bb48b2e06fefcb0019c454d7773c409c86b161c06 -size 5630698 +oid sha256:f517950bc249fbc4fa5f231a4972695f1ab03ea04c4ee6983813bef6bfce2e5f +size 5667701 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 d4813957fe..72bd5b3fc7 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:7f9e70184de21c7862cc507b89e098f3a065c409e9c604e4866a54b12181a1f0 -size 933537 +oid sha256:949c59a87a342b15cf01cc730879897bfe05628840a25f7db4f236a656510245 +size 936161 diff --git a/lib/search/indexes/github-docs-ghec-es.json.br b/lib/search/indexes/github-docs-ghec-es.json.br index 75f6364c89..01ac390ab6 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:86a3ef6e84770044b6f53139a58b48c5103a30f6e03e9997af28f48d25abe8d9 -size 4019562 +oid sha256:fa08e5c341b0cf41ca7dc17427de19ec50a2094bbabbbe1756f0a6a037e3cb49 +size 4034442 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 112daa9ee7..49cd7d8311 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:f9b06301fb74ebdf0e408fac0417b8096c6f28310a46d1ff4a00fd7e43897500 -size 1022670 +oid sha256:525d5659b9e27040b6ed76e41b048fa9444c64004b43723a28e3abd0db65f6d1 +size 1026345 diff --git a/lib/search/indexes/github-docs-ghec-ja.json.br b/lib/search/indexes/github-docs-ghec-ja.json.br index 0018beea5a..811fc0aaf6 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:9638a6f6aa289f13075e45f98ed137d081e1c95118c087288e67e28153953a56 -size 5708310 +oid sha256:033edf091838b2212a99fd3a0b41484573603ad78682ef1da58d9a49de415e2b +size 5734204 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 db77f37163..f047772e70 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:b08732b813014642dda62e16dd70066c0919c8ba97734ab3b5706e7929fe3d7b -size 920994 +oid sha256:3fb7ca6e225568be031ad599fadb489eeaa41d054c81a1685978247aaff43831 +size 923594 diff --git a/lib/search/indexes/github-docs-ghec-pt.json.br b/lib/search/indexes/github-docs-ghec-pt.json.br index 7b0bc513aa..043f9de35b 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:68687a696ab8a28068d164cabd0402587ad106ade9a31ebcd2e38a21d8565ae3 -size 3915563 +oid sha256:6f98c9f2edebf7844e18bd58507d7b45f06912753661c1b4317204ab9cdb65e7 +size 3922109 diff --git a/middleware/api/search.js b/middleware/api/search.js index 3c08c45101..84b09d0245 100644 --- a/middleware/api/search.js +++ b/middleware/api/search.js @@ -43,6 +43,20 @@ const legacyEnterpriseServerVersions = Object.fromEntries( }) ) +function getIndexPrefix() { + // This logic is mirrored in the scripts we use before running tests + // In particular, see the `index-test-fixtures` npm script. + // That's expected to be run before CI and local jest testing. + // The reason we have a deliberately different index name (by prefix) + // for testing compared to regular operation is to make it convenient + // for engineers working on local manual testing *and* automated + // testing without have to re-index different content (e.g. fixtures + // vs real content) on the same index name. + if (process.env.NODE_ENV === 'test') return 'tests_' + + return '' +} + function convertLegacyVersionName(version) { // In the olden days we used to use `?version=3.5&...` but we decided // that's ambiguous and it should be `ghes-3.5` instead. @@ -87,7 +101,10 @@ router.get( return res.status(200).json([]) } - const indexName = `github-docs-${convertLegacyVersionName(version)}-${language}` + const indexName = `${getIndexPrefix()}github-docs-${convertLegacyVersionName( + version + )}-${language}` + const hits = [] try { const searchResults = await getSearchResults({ @@ -205,7 +222,7 @@ const validationMiddleware = (req, res, next) => { const version = versionAliases[search.version] || allVersions[search.version].miscVersionName - search.indexName = `github-docs-${version}-${search.language}` // github-docs-ghes-3.5-en + search.indexName = `${getIndexPrefix()}github-docs-${version}-${search.language}` // github-docs-ghes-3.5-en req.search = search return next() diff --git a/middleware/contextualizers/breadcrumbs.js b/middleware/contextualizers/breadcrumbs.js index a707cd0a9b..ef4195c4c9 100644 --- a/middleware/contextualizers/breadcrumbs.js +++ b/middleware/contextualizers/breadcrumbs.js @@ -17,6 +17,8 @@ export default async function breadcrumbs(req, res, next) { return next() } +const earlyAccessExceptions = ['insights', 'enterprise-importer'] + async function getBreadcrumbs(req, isEarlyAccess = false) { const crumbs = [] const { currentPath, currentVersion } = req.context @@ -30,11 +32,11 @@ async function getBreadcrumbs(req, isEarlyAccess = false) { // top-level like "/github" cutoff++ - // The only exception to this rule is for the - // /{version}/early-access/insights/... URLs because they're a + // There are a few exceptions to this rule for the + // /{version}/early-access//... URLs because they're a // bit different. - // If there are more known exceptions, extend this conditional. - if (!split.includes('insights')) { + // If there are more known exceptions, add them to the array above. + if (!earlyAccessExceptions.some((product) => split.includes(product))) { cutoff++ } diff --git a/middleware/next.js b/middleware/next.js index ab9de7ae09..8ad6b3eb22 100644 --- a/middleware/next.js +++ b/middleware/next.js @@ -1,16 +1,9 @@ import next from 'next' -// This import is necessary, as of Jan 2022 to avoid a segmentation fault. -// Next is suppose to automatically pick up the `next.config.js` file -// but if you don't specify it to the `next()` constructor you currently -// get a seg fault. -// Possibly relevant: https://github.com/vercel/next.js/issues/33008 -import conf from '../next.config.js' - const { NODE_ENV } = process.env const isDevelopment = NODE_ENV === 'development' -export const nextApp = next({ dev: isDevelopment, conf }) +export const nextApp = next({ dev: isDevelopment }) export const nextHandleRequest = nextApp.getRequestHandler() await nextApp.prepare() diff --git a/next.config.js b/next.config.js index bf3db7e254..50aa6fcec0 100644 --- a/next.config.js +++ b/next.config.js @@ -2,6 +2,7 @@ import fs from 'fs' import path from 'path' import frontmatter from 'gray-matter' +import { languageKeys } from './lib/languages.js' const homepage = path.posix.join(process.cwd(), 'content/index.md') const { data } = frontmatter(fs.readFileSync(homepage, 'utf8')) @@ -17,8 +18,7 @@ export default { ignoreDuringBuilds: true, }, i18n: { - // locales: Object.values(languages).map(({ code }) => code), - locales: ['en', 'cn', 'ja', 'es', 'pt'], + locales: languageKeys, defaultLocale: 'en', }, sassOptions: { diff --git a/package-lock.json b/package-lock.json index e15210551a..dcf70ceb61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "mdast-util-to-string": "^3.1.0", "morgan": "^1.10.0", "msgpack5rpc": "^1.1.0", - "next": "12.2.5", + "next": "12.2.4", "parse5": "7.0.0", "port-used": "^2.0.8", "react": "^17.0.2", @@ -97,7 +97,7 @@ "@babel/preset-env": "^7.18.2", "@graphql-inspector/core": "^3.1.2", "@graphql-tools/load": "^7.5.14", - "@jest/globals": "^28.1.1", + "@jest/globals": "29.0.0", "@octokit/graphql": "4.8.0", "@octokit/rest": "^18.12.0", "@types/github-slugger": "^1.3.0", @@ -134,9 +134,9 @@ "http-status-code": "^2.1.0", "husky": "^8.0.1", "japanese-characters": "^1.1.0", - "jest": "28.1.3", + "jest": "29.0.0", "jest-environment-puppeteer": "^5.0.4", - "jest-fail-on-console": "^2.4.2", + "jest-fail-on-console": "^3.0.1", "jest-github-actions-reporter": "^1.0.3", "jest-slow-test-reporter": "^1.0.0", "kill-port": "2.0.0", @@ -535,9 +535,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1118,6 +1118,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "dev": true, @@ -1214,12 +1229,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.17.12" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -2363,29 +2378,29 @@ } }, "node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.0.tgz", + "integrity": "sha512-rHsKEqT2Kx73PqO9qIOdwg0Grd6Y3COyqNpi5SKRI0qXgmlqXkOczQMfIb8I0Gdnc9/kaMj6cTnBGLyBA03Xrg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2393,13 +2408,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -2422,32 +2437,32 @@ } }, "node_modules/@jest/console/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2455,22 +2470,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/pretty-format/node_modules/ansi-styles": { @@ -2501,43 +2515,42 @@ } }, "node_modules/@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.0.tgz", + "integrity": "sha512-9qljprspjQwbmnq3Wv9d/M6/ejMdWs1uAAljQAX9QsjJ1SlSByXw1mRA9UpR2BP9TxLLwEembbm0ykrT//2STg==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.0.0", + "@jest/reporters": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.0.0", + "jest-haste-map": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-resolve-dependencies": "^29.0.0", + "jest-runner": "^29.0.0", + "jest-runtime": "^29.0.0", + "jest-snapshot": "^29.0.0", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", + "jest-watcher": "^29.0.0", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2549,12 +2562,12 @@ } }, "node_modules/@jest/core/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2562,13 +2575,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/core/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -2591,32 +2604,32 @@ } }, "node_modules/@jest/core/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/core/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2624,22 +2637,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/core/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { @@ -2696,28 +2708,28 @@ } }, "node_modules/@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.0.tgz", + "integrity": "sha512-X2S5NpZOeXXDGBLvU/4K1nAD5iIz6/9Gs041wToI0FiX3glh/aEGGsVv3+SxKddYIb6Ei+ZbqzJmfRzQ7nwPlQ==", "dev": true, "dependencies": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" + "expect": "^29.0.0", + "jest-snapshot": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.0.tgz", + "integrity": "sha512-odQ+cjUpui6++a9Ua/oWn7CG0Af+EZe9weWZbfUQHTg7C3K9PCb0AnD4X7nyAe4WjfeZmVVyG5SJELMQaUbCtg==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2" + "jest-get-type": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/fake-timers": { @@ -2737,58 +2749,59 @@ } }, "node_modules/@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.0.tgz", + "integrity": "sha512-ZHQMh6BZtabbikh9wkuPpVQmPHEpc4EgOaY/UJNM6hHHA5HRmiP5rH54M8267nkGscuqM5KpWP+zAZ4XEOXZag==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" + "@jest/environment": "^29.0.0", + "@jest/expect": "^29.0.0", + "@jest/types": "^29.0.0", + "jest-mock": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2796,7 +2809,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/@sinonjs/fake-timers": { @@ -2809,9 +2822,9 @@ } }, "node_modules/@jest/globals/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -2834,45 +2847,45 @@ } }, "node_modules/@jest/globals/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -2880,22 +2893,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals/node_modules/pretty-format/node_modules/ansi-styles": { @@ -2926,17 +2938,17 @@ } }, "node_modules/@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.0.tgz", + "integrity": "sha512-6ZFLlHQwncULTucAKWeGJLGPvzjgC/0gFmxJi/LgU9G1v498r/RcWQiZBPqhJcSvpWGTCaqjvUGmPCLtrUpubw==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/console": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -2948,9 +2960,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0", + "jest-worker": "^29.0.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -2958,7 +2970,7 @@ "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2970,12 +2982,12 @@ } }, "node_modules/@jest/reporters/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2983,13 +2995,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -3042,32 +3054,32 @@ } }, "node_modules/@jest/reporters/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -3075,13 +3087,13 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.0.tgz", + "integrity": "sha512-2t9Panx3F9N1wAvRuZT7xLEptRFc1C5G90DOHniIGz1JIgF9uhd5u8jNBsc7wN63lhnaiLeVLnNx21wT7OVFEQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -3089,7 +3101,7 @@ "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters/node_modules/jest-worker/node_modules/supports-color": { @@ -3120,18 +3132,17 @@ } }, "node_modules/@jest/reporters/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters/node_modules/pretty-format/node_modules/ansi-styles": { @@ -3174,53 +3185,53 @@ } }, "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", "dev": true, "dependencies": { "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.13", + "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.0.tgz", + "integrity": "sha512-mv76j8ILaqOuZAWBGR1/ZSRinN5Q/eEji7kMcvADjd+gQGfn/Py+91nUrVakJT69idC66bvQ7yF24frQpzFKUg==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.0.0", + "@jest/types": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -3228,13 +3239,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -3257,18 +3268,18 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.0.tgz", + "integrity": "sha512-uL6yX//SUME1c/ucbY365obdsrPjvSoNBwB80WTe+drYL4jf7A87vA2+w4hYwXJEIGQspv5skg3iB/sJSys7ew==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.3", + "@jest/test-result": "^29.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.0.0", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-sequencer/node_modules/slash": { @@ -3281,38 +3292,38 @@ } }, "node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.0.tgz", + "integrity": "sha512-hwyBt8UR5o8GGaphmRqNQwVCctiOR8ncugCp/RlInEZvQ+ysKkS5TFfe5RgeQ0KtKdWByQqn5yA574LLOp3OWw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/types": "^29.0.0", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -3320,13 +3331,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -3349,12 +3360,12 @@ } }, "node_modules/@jest/transform/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -3362,7 +3373,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform/node_modules/slash": { @@ -3375,16 +3386,16 @@ } }, "node_modules/@jest/transform/node_modules/write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/@jest/types": { @@ -3478,23 +3489,23 @@ "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@next/env": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/env/-/env-12.2.5.tgz", - "integrity": "sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw==" + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.2.4.tgz", + "integrity": "sha512-/gApFXWk5CCLFQJL5IYJXxPQuG5tz5nPX4l27A9Zm/+wJxiwFrRSP54AopDxIv4JRp/rGwcgk/lZS/0Clw8jYA==" }, "node_modules/@next/swc-android-arm-eabi": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz", - "integrity": "sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.4.tgz", + "integrity": "sha512-P4YSFNpmXXSnn3P1qsOAqz+MX3On9fHrlc8ovb/CFJJoU+YLCR53iCEwfw39e0IZEgDA7ttgr108plF8mxaX0g==", "cpu": [ "arm" ], @@ -3507,9 +3518,9 @@ } }, "node_modules/@next/swc-android-arm64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz", - "integrity": "sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.2.4.tgz", + "integrity": "sha512-4o2n14E18O+8xHlf6dgJsWPXN9gmSmfIe2Z0EqKDIPBBkFt/2CyrH0+vwHnL2l7xkDHhOGfZYcYIWVUR5aNu0A==", "cpu": [ "arm64" ], @@ -3522,9 +3533,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz", - "integrity": "sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.4.tgz", + "integrity": "sha512-DcUO6MGBL9E3jj5o86MUnTOy4WawIJJhyCcFYO4f51sbl7+uPIYIx40eo98A6NwJEXazCqq1hLeqOaNTAIvDiQ==", "cpu": [ "arm64" ], @@ -3537,9 +3548,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz", - "integrity": "sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.4.tgz", + "integrity": "sha512-IUlFMqeLjdIzDorrGC2Dt+2Ae3DbKQbRzCzmDq4/CP1+jJGeDXo/2AHnlE+WYnwQAC4KtAz6pbVnd3KstZWsVA==", "cpu": [ "x64" ], @@ -3552,9 +3563,9 @@ } }, "node_modules/@next/swc-freebsd-x64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz", - "integrity": "sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.4.tgz", + "integrity": "sha512-475vwyWcjnyDVDWLgAATP0HI8W1rwByc+uXk1B6KkAVFhkoDgH387LW0uNqxavK+VxCzj3avQXX/58XDvxtSlg==", "cpu": [ "x64" ], @@ -3567,9 +3578,9 @@ } }, "node_modules/@next/swc-linux-arm-gnueabihf": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz", - "integrity": "sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.4.tgz", + "integrity": "sha512-qZW+L3iG3XSGtlOPmD5RRWXyk6ZNdscLV0BQjuDvP+exTg+uixqHXOHz0/GVATIJEBQOF0Kew7jAXVXEP+iRTQ==", "cpu": [ "arm" ], @@ -3582,9 +3593,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz", - "integrity": "sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.4.tgz", + "integrity": "sha512-fEPRjItWYaKyyG9N+2HIA59OBHIhk7WC+Rh+LwXsh0pQe870Ykpek3KQs0umjsrEGe57NyMomq3f80/N8taDvA==", "cpu": [ "arm64" ], @@ -3597,9 +3608,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz", - "integrity": "sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.4.tgz", + "integrity": "sha512-rnCTzXII0EBCcFn9P5s/Dho2kPUMSX/bP0iOAj8wEI/IxUEfEElbin89zJoNW30cycHu19xY8YP4K2+hzciPzQ==", "cpu": [ "arm64" ], @@ -3612,9 +3623,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz", - "integrity": "sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.4.tgz", + "integrity": "sha512-PhXX6NSuIuhHInxPY2VkG2Bl7VllsD3Cjx+pQcS1wTym7Zt7UoLvn05PkRrkiyIkvR+UXnqPUM3TYiSbnemXEw==", "cpu": [ "x64" ], @@ -3627,9 +3638,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz", - "integrity": "sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.4.tgz", + "integrity": "sha512-GmC/QROiUZpFirHRfPQqMyCXZ+5+ndbBZrMvL74HtQB/CKXB8K1VM+rvy9Gp/5OaU8Rxp48IcX79NOfI2LiXlA==", "cpu": [ "x64" ], @@ -3642,9 +3653,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz", - "integrity": "sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.4.tgz", + "integrity": "sha512-9XKoCXbNZuaMRPtcKQz3+hgVpkMosaLlcxHFXT8/j4w61k7/qvEbrkMDS9WHNrD/xVcLycwhPRgXcns2K1BdBQ==", "cpu": [ "arm64" ], @@ -3657,9 +3668,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz", - "integrity": "sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.4.tgz", + "integrity": "sha512-hEyRieZKH9iw4AzvXaQ+Fyb98k0G/o9QcRGxA1/O/O/elf1+Qvuwb15phT8GbVtIeNziy66XTPOhKKfdr8KyUg==", "cpu": [ "ia32" ], @@ -3672,9 +3683,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz", - "integrity": "sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.4.tgz", + "integrity": "sha512-5Pl1tdMJWLy4rvzU1ecx0nHWgDPqoYuvYoXE/5X0Clu9si/yOuBIj573F2kOTY7mu0LX2wgCJVSnyK0abHBxIw==", "cpu": [ "x64" ], @@ -3978,9 +3989,9 @@ "license": "BSD-3-Clause" }, "node_modules/@sinclair/typebox": { - "version": "0.24.20", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", - "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==", + "version": "0.24.28", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.28.tgz", + "integrity": "sha512-dgJd3HLOkLmz4Bw50eZx/zJwtBq65nms3N9VBYu5LTjJ883oBFkTyXRlCB/ZGGwqYpJJHA5zW2Ibhl5ngITfow==", "dev": true }, "node_modules/@sindresorhus/is": { @@ -4164,9 +4175,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.0.tgz", + "integrity": "sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" @@ -4345,9 +4356,9 @@ "license": "MIT" }, "node_modules/@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", + "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==", "dev": true }, "node_modules/@types/prop-types": { @@ -5389,21 +5400,21 @@ } }, "node_modules/babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.0.tgz", + "integrity": "sha512-EJM2dqxz9+uWJLLucZLPYAmRsHHt1IMkitAHGqjDlIP2IQXzkIMO3ATbBWk0lU6VwX4rNeVN04t/DDB8U5C2rg==", "dev": true, "dependencies": { - "@jest/transform": "^28.1.3", + "@jest/transform": "^29.0.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", + "babel-preset-jest": "^29.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -5495,9 +5506,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.0.tgz", + "integrity": "sha512-B9oaXrlxXHFWeWqhDPg03iqQd2UN/mg/VdZOsLaqAVBkztru3ctTryAI4zisxLEEgmcUnLTKewqx0gGifoXD3A==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -5506,7 +5517,7 @@ "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -5960,16 +5971,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.0.tgz", + "integrity": "sha512-B5Ke47Xcs8rDF3p1korT3LoilpADCwbG93ALqtvqu6Xpf4d8alKkrCBTExbNzdHJcIuEPpfYvEaFFRGee2kUgQ==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^28.1.3", + "babel-plugin-jest-hoist": "^29.0.0", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -7490,12 +7501,12 @@ } }, "node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/dir-glob": { @@ -8801,19 +8812,19 @@ } }, "node_modules/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.0.tgz", + "integrity": "sha512-OKAHGwaBqZ6I7bas0cnrrvomEL2d0yp2XXYQhhnVHfaqDaKStUBxjWtlGu/uI2tBqwb9sBMvaS41DSJFsRRJHQ==", "dev": true, "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/expect-utils": "^29.0.0", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/expect-puppeteer": { @@ -8823,12 +8834,12 @@ "optional": true }, "node_modules/expect/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -8836,13 +8847,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/expect/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -8865,32 +8876,32 @@ } }, "node_modules/expect/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/expect/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -8898,22 +8909,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/expect/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { @@ -11212,21 +11222,21 @@ "license": "MIT" }, "node_modules/jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.0.tgz", + "integrity": "sha512-9uz4Tclskb8WrfRXqu66FsFCFoyYctwWXpruKwnD95FZqkyoEAA1oGH53HUn7nQx7uEgZTKdNl/Yo6DqqU+XMg==", "dev": true, "dependencies": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.0.0", + "@jest/types": "^29.0.0", "import-local": "^3.0.2", - "jest-cli": "^28.1.3" + "jest-cli": "^29.0.0" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -11238,87 +11248,87 @@ } }, "node_modules/jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", "dev": true, "dependencies": { "execa": "^5.0.0", "p-limit": "^3.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.0.tgz", + "integrity": "sha512-6EX70/+ZdzPLShBeokMVIpUaq5cQpOsO4OCDiV1drKUHht0hmUOWvY6LE4pBSFdepB0Sukw4Y0ajRqtvLBO9/A==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/expect": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-each": "^29.0.0", + "jest-matcher-utils": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-runtime": "^29.0.0", + "jest-snapshot": "^29.0.0", + "jest-util": "^29.0.0", "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -11326,7 +11336,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/@sinonjs/fake-timers": { @@ -11339,9 +11349,9 @@ } }, "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -11364,45 +11374,45 @@ } }, "node_modules/jest-circus/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11410,22 +11420,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { @@ -11456,21 +11465,21 @@ } }, "node_modules/jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.0.tgz", + "integrity": "sha512-VZUPQjWJKL8QABFiBk1tHeJ3czBodjU9r22ceQmeL7X8/M73FYxTte0RkYPHI2SiLPWy99GZNWA+oOu9x0xKOA==", "dev": true, "dependencies": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/types": "^29.0.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-config": "^29.0.0", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -11478,7 +11487,7 @@ "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -11490,12 +11499,12 @@ } }, "node_modules/jest-cli/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -11503,13 +11512,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-cli/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -11532,12 +11541,12 @@ } }, "node_modules/jest-cli/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11545,40 +11554,40 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.0.tgz", + "integrity": "sha512-RbcUgQBJDS0O8OThWUwm5UCfzo0zOymUX/cJzUNlYB1ZWqe3M8MFEcgwqgZSifYuYTi46xWu5cmkMiyRQAdnMw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", + "@jest/test-sequencer": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-circus": "^29.0.0", + "jest-environment-node": "^29.0.0", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-runner": "^29.0.0", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@types/node": "*", @@ -11594,44 +11603,44 @@ } }, "node_modules/jest-config/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -11639,7 +11648,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/@sinonjs/fake-timers": { @@ -11652,9 +11661,9 @@ } }, "node_modules/jest-config/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -11707,62 +11716,62 @@ } }, "node_modules/jest-config/node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.0.tgz", + "integrity": "sha512-Cns21Vgu0z7LjtssL0SWkxmjclHdwXeECFAP3ONit5NPnGCbv+0Rqby8w9vK7NpFlUaFgMmLYYBsUjSmIhwpvg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11770,7 +11779,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/minimatch": { @@ -11786,18 +11795,17 @@ } }, "node_modules/jest-config/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { @@ -11857,18 +11865,18 @@ } }, "node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.0.tgz", + "integrity": "sha512-erkuYf1dQBHow3XJmS+bH6t9TZ0GwrSdQGauN8sTqyZlFByOjRadmHgTTcAHINeeSwxzGHN2ob3PXVvZphD7XQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-diff/node_modules/chalk": { @@ -11888,18 +11896,17 @@ } }, "node_modules/jest-diff/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { @@ -11921,40 +11928,40 @@ "dev": true }, "node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.0.tgz", + "integrity": "sha512-ACKRvqdo7Bc0YrjQbrQtokpQ2NZxdXA63OklJht7a9UarCJXlZeWh51wEUe0ORqbnu15nAnX1YFQHmVpS1+ZXA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.0.0", + "jest-util": "^29.0.0", + "pretty-format": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -11962,13 +11969,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -11991,12 +11998,12 @@ } }, "node_modules/jest-each/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12004,22 +12011,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { @@ -12085,9 +12091,9 @@ } }, "node_modules/jest-fail-on-console": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jest-fail-on-console/-/jest-fail-on-console-2.4.2.tgz", - "integrity": "sha512-CdulWZvfI+cz4+dXQr6p0BhhexFjLnIIBR/7YcpzPXFxrNozAruWkEjR1RU89cd7WXYwckX5ygvHuHQa3NjbOQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jest-fail-on-console/-/jest-fail-on-console-3.0.1.tgz", + "integrity": "sha512-1811WQIY9lZN9wGkp7S6y69vw9+u6I21dmnRwXo6jSuF6Xv5OlN4msNCeKEVlc/C2H5N8dqLKuQlTAzQZ0mJlw==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -12109,12 +12115,12 @@ } }, "node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-github-actions-reporter": { @@ -12126,37 +12132,37 @@ } }, "node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.0.tgz", + "integrity": "sha512-mLyDt2WyNU0DZ64s7kRFkFJzrHEuXIxG+OKOs9/P5s1W7NzXE+P7SvLbxjz2Cg63cJjuglYRrD6fZcYf19T8Lw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.0", + "jest-worker": "^29.0.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -12164,13 +12170,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -12193,12 +12199,12 @@ } }, "node_modules/jest-haste-map/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12206,13 +12212,13 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.0.tgz", + "integrity": "sha512-2t9Panx3F9N1wAvRuZT7xLEptRFc1C5G90DOHniIGz1JIgF9uhd5u8jNBsc7wN63lhnaiLeVLnNx21wT7OVFEQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -12220,7 +12226,7 @@ "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map/node_modules/jest-worker/node_modules/supports-color": { @@ -12239,16 +12245,16 @@ } }, "node_modules/jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.0.tgz", + "integrity": "sha512-kBjNS0/z2+ZV/3N7R+ot5fKD2W1fHkoxC3kH/fkb2z24YSPfR9RGwiNX+YLRG9r0gWsxQx16boxzHT23G6rFBw==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-leak-detector/node_modules/ansi-styles": { @@ -12264,18 +12270,17 @@ } }, "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-leak-detector/node_modules/react-is": { @@ -12285,18 +12290,18 @@ "dev": true }, "node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.0.tgz", + "integrity": "sha512-HtCxFHI8lQSbN1RppFjtl6DIrS+x4d3lOhpJljVxFEXob4lxlKon3FunW0XoGxNSvIoD00AfTFspnufpOqszrg==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils/node_modules/chalk": { @@ -12316,18 +12321,17 @@ } }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { @@ -12433,54 +12437,54 @@ } }, "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.0.tgz", + "integrity": "sha512-MN19maPUXzibBshYg/cSrDWqiJwEBur6gbQb2lwOL4+6k14wdNW8Xh0uNPPxUntb7cpTi07uql/bUO5TVwiJbA==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.0.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.0.tgz", + "integrity": "sha512-1TYUMcLZcUqa2fdUQ3leYtiXWXfNmimPvnJ34YDLLf0nyJ/aEeqlHJM9Ji2jw9Qxdh7nUypanjUlUV87yRHBFQ==", "dev": true, "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -12488,13 +12492,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -12517,12 +12521,12 @@ } }, "node_modules/jest-resolve/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12530,7 +12534,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/slash": { @@ -12543,76 +12547,76 @@ } }, "node_modules/jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.0.tgz", + "integrity": "sha512-OpTpRIBOIn9RXuMMrpS+h9ZoK+nZHaOuNOceUiDbDoOJ6pmeGu0zst7VR22xXT3fOCwWqg5qe0fZ23G+ve5P0Q==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.0.0", + "@jest/environment": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.0.0", + "jest-haste-map": "^29.0.0", + "jest-leak-detector": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-runtime": "^29.0.0", + "jest-util": "^29.0.0", + "jest-watcher": "^29.0.0", + "jest-worker": "^29.0.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -12620,7 +12624,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/@sinonjs/fake-timers": { @@ -12633,9 +12637,9 @@ } }, "node_modules/jest-runner/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -12658,62 +12662,62 @@ } }, "node_modules/jest-runner/node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.0.tgz", + "integrity": "sha512-Cns21Vgu0z7LjtssL0SWkxmjclHdwXeECFAP3ONit5NPnGCbv+0Rqby8w9vK7NpFlUaFgMmLYYBsUjSmIhwpvg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12721,13 +12725,13 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.0.tgz", + "integrity": "sha512-2t9Panx3F9N1wAvRuZT7xLEptRFc1C5G90DOHniIGz1JIgF9uhd5u8jNBsc7wN63lhnaiLeVLnNx21wT7OVFEQ==", "dev": true, "dependencies": { "@types/node": "*", @@ -12735,7 +12739,7 @@ "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-worker/node_modules/supports-color": { @@ -12754,18 +12758,17 @@ } }, "node_modules/jest-runner/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/pretty-format/node_modules/ansi-styles": { @@ -12806,77 +12809,77 @@ } }, "node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.0.tgz", + "integrity": "sha512-dU0qFpTRWZY7Rur7yBgpz4g67mITSozBZ1jlhoG4ER/P/NiTFyZ/W8nMd5floeAMafmbrOc/5A9SlCu7SQCoBA==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/fake-timers": "^29.0.0", + "@jest/globals": "^29.0.0", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-snapshot": "^29.0.0", + "jest-util": "^29.0.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -12884,7 +12887,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/@sinonjs/fake-timers": { @@ -12897,9 +12900,9 @@ } }, "node_modules/jest-runtime/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -12952,45 +12955,45 @@ } }, "node_modules/jest-runtime/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12998,7 +13001,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/minimatch": { @@ -13014,18 +13017,17 @@ } }, "node_modules/jest-runtime/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/pretty-format/node_modules/ansi-styles": { @@ -13061,46 +13063,47 @@ "license": "MIT" }, "node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.0.tgz", + "integrity": "sha512-rR3B8GInk/IibF0M/sQCukSM8xX8bPI3Q0kjoAw4HT9Mx0Q3bS0MmF74rsreBOnVJgzN0Iwrc7YY56Yp8KQ7kA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/expect-utils": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.3", + "expect": "^29.0.0", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.0.0", + "jest-matcher-utils": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -13108,13 +13111,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -13137,32 +13140,32 @@ } }, "node_modules/jest-snapshot/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -13170,22 +13173,21 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { @@ -13247,29 +13249,29 @@ } }, "node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.0.tgz", + "integrity": "sha512-UhgDKmahJnv5s5MK6a8kQ397YNS9euvL7gWTvUf7y0OO7vZeafUItlq3tguvfFVazQJ+kBGUm/XCJes7V61l8g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "pretty-format": "^29.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -13277,13 +13279,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -13318,18 +13320,17 @@ } }, "node_modules/jest-validate/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { @@ -13351,31 +13352,31 @@ "dev": true }, "node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.0.tgz", + "integrity": "sha512-GoRq5QJt5/dv3keK7rIzg9R0e/HpTnjyMNYtCTTDZgGIj6QUDMpiJqt7Mwfyyaxwg5PS8gVyQvRQn6Lril4cuQ==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/test-result": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^28.1.3", + "jest-util": "^29.0.0", "string-length": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-watcher/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -13383,13 +13384,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-watcher/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -13412,12 +13413,12 @@ } }, "node_modules/jest-watcher/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -13425,7 +13426,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker": { @@ -13460,12 +13461,12 @@ } }, "node_modules/jest/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -13473,13 +13474,13 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -15388,15 +15389,15 @@ "peer": true }, "node_modules/next": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/next/-/next-12.2.5.tgz", - "integrity": "sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-12.2.4.tgz", + "integrity": "sha512-b1xlxEozmAWokAXzXsi5vlmU/IfJcFNIJA8dpU5UdkFbyDPio8wwb8mAQ/Y7rGtfTgG/t/u49BiyEA+xAgFvow==", "dependencies": { - "@next/env": "12.2.5", + "@next/env": "12.2.4", "@swc/helpers": "0.4.3", "caniuse-lite": "^1.0.30001332", "postcss": "8.4.14", - "styled-jsx": "5.0.4", + "styled-jsx": "5.0.2", "use-sync-external-store": "1.2.0" }, "bin": { @@ -15406,19 +15407,19 @@ "node": ">=12.22.0" }, "optionalDependencies": { - "@next/swc-android-arm-eabi": "12.2.5", - "@next/swc-android-arm64": "12.2.5", - "@next/swc-darwin-arm64": "12.2.5", - "@next/swc-darwin-x64": "12.2.5", - "@next/swc-freebsd-x64": "12.2.5", - "@next/swc-linux-arm-gnueabihf": "12.2.5", - "@next/swc-linux-arm64-gnu": "12.2.5", - "@next/swc-linux-arm64-musl": "12.2.5", - "@next/swc-linux-x64-gnu": "12.2.5", - "@next/swc-linux-x64-musl": "12.2.5", - "@next/swc-win32-arm64-msvc": "12.2.5", - "@next/swc-win32-ia32-msvc": "12.2.5", - "@next/swc-win32-x64-msvc": "12.2.5" + "@next/swc-android-arm-eabi": "12.2.4", + "@next/swc-android-arm64": "12.2.4", + "@next/swc-darwin-arm64": "12.2.4", + "@next/swc-darwin-x64": "12.2.4", + "@next/swc-freebsd-x64": "12.2.4", + "@next/swc-linux-arm-gnueabihf": "12.2.4", + "@next/swc-linux-arm64-gnu": "12.2.4", + "@next/swc-linux-arm64-musl": "12.2.4", + "@next/swc-linux-x64-gnu": "12.2.4", + "@next/swc-linux-x64-musl": "12.2.4", + "@next/swc-win32-arm64-msvc": "12.2.4", + "@next/swc-win32-ia32-msvc": "12.2.4", + "@next/swc-win32-x64-msvc": "12.2.4" }, "peerDependencies": { "fibers": ">= 3.1.0", @@ -18957,9 +18958,9 @@ } }, "node_modules/styled-jsx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.4.tgz", - "integrity": "sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.2.tgz", + "integrity": "sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==", "engines": { "node": ">= 12.0.0" }, @@ -20684,9 +20685,9 @@ } }, "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" @@ -20991,9 +20992,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", - "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -21369,6 +21370,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "dev": true, @@ -21428,12 +21438,12 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.12.tgz", - "integrity": "sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.17.12" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-arrow-functions": { @@ -22240,26 +22250,26 @@ "dev": true }, "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.0.tgz", + "integrity": "sha512-rHsKEqT2Kx73PqO9qIOdwg0Grd6Y3COyqNpi5SKRI0qXgmlqXkOczQMfIb8I0Gdnc9/kaMj6cTnBGLyBA03Xrg==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0", "slash": "^3.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -22268,9 +22278,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -22287,29 +22297,29 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22318,13 +22328,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -22352,49 +22361,48 @@ } }, "@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.0.tgz", + "integrity": "sha512-9qljprspjQwbmnq3Wv9d/M6/ejMdWs1uAAljQAX9QsjJ1SlSByXw1mRA9UpR2BP9TxLLwEembbm0ykrT//2STg==", "dev": true, "requires": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.0.0", + "@jest/reporters": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.0.0", + "jest-haste-map": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-resolve-dependencies": "^29.0.0", + "jest-runner": "^29.0.0", + "jest-runtime": "^29.0.0", + "jest-snapshot": "^29.0.0", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", + "jest-watcher": "^29.0.0", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -22403,9 +22411,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -22422,29 +22430,29 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22453,13 +22461,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -22506,22 +22513,22 @@ } }, "@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.0.tgz", + "integrity": "sha512-X2S5NpZOeXXDGBLvU/4K1nAD5iIz6/9Gs041wToI0FiX3glh/aEGGsVv3+SxKddYIb6Ei+ZbqzJmfRzQ7nwPlQ==", "dev": true, "requires": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" + "expect": "^29.0.0", + "jest-snapshot": "^29.0.0" } }, "@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.0.tgz", + "integrity": "sha512-odQ+cjUpui6++a9Ua/oWn7CG0Af+EZe9weWZbfUQHTg7C3K9PCb0AnD4X7nyAe4WjfeZmVVyG5SJELMQaUbCtg==", "dev": true, "requires": { - "jest-get-type": "^28.0.2" + "jest-get-type": "^29.0.0" } }, "@jest/fake-timers": { @@ -22537,49 +22544,50 @@ } }, "@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.0.tgz", + "integrity": "sha512-ZHQMh6BZtabbikh9wkuPpVQmPHEpc4EgOaY/UJNM6hHHA5HRmiP5rH54M8267nkGscuqM5KpWP+zAZ4XEOXZag==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" + "@jest/environment": "^29.0.0", + "@jest/expect": "^29.0.0", + "@jest/types": "^29.0.0", + "jest-mock": "^29.0.0" }, "dependencies": { "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" } }, "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -22597,9 +22605,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -22616,39 +22624,39 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22657,13 +22665,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -22691,17 +22698,17 @@ } }, "@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.0.tgz", + "integrity": "sha512-6ZFLlHQwncULTucAKWeGJLGPvzjgC/0gFmxJi/LgU9G1v498r/RcWQiZBPqhJcSvpWGTCaqjvUGmPCLtrUpubw==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/console": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -22713,9 +22720,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0", + "jest-worker": "^29.0.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -22724,12 +22731,12 @@ }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -22738,9 +22745,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -22781,29 +22788,29 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -22812,9 +22819,9 @@ } }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.0.tgz", + "integrity": "sha512-2t9Panx3F9N1wAvRuZT7xLEptRFc1C5G90DOHniIGz1JIgF9uhd5u8jNBsc7wN63lhnaiLeVLnNx21wT7OVFEQ==", "dev": true, "requires": { "@types/node": "*", @@ -22843,13 +22850,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -22886,44 +22892,44 @@ } }, "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", "dev": true, "requires": { "@sinclair/typebox": "^0.24.1" } }, "@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.13", + "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.0.tgz", + "integrity": "sha512-mv76j8ILaqOuZAWBGR1/ZSRinN5Q/eEji7kMcvADjd+gQGfn/Py+91nUrVakJT69idC66bvQ7yF24frQpzFKUg==", "dev": true, "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.0.0", + "@jest/types": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -22932,9 +22938,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -22953,14 +22959,14 @@ } }, "@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.0.tgz", + "integrity": "sha512-uL6yX//SUME1c/ucbY365obdsrPjvSoNBwB80WTe+drYL4jf7A87vA2+w4hYwXJEIGQspv5skg3iB/sJSys7ew==", "dev": true, "requires": { - "@jest/test-result": "^28.1.3", + "@jest/test-result": "^29.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.0.0", "slash": "^3.0.0" }, "dependencies": { @@ -22973,22 +22979,22 @@ } }, "@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.0.tgz", + "integrity": "sha512-hwyBt8UR5o8GGaphmRqNQwVCctiOR8ncugCp/RlInEZvQ+ysKkS5TFfe5RgeQ0KtKdWByQqn5yA574LLOp3OWw==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/types": "^29.0.0", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -22996,12 +23002,12 @@ }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -23010,9 +23016,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -23029,12 +23035,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -23049,9 +23055,9 @@ "dev": true }, "write-file-atomic": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -23132,95 +23138,95 @@ "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@next/env": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/env/-/env-12.2.5.tgz", - "integrity": "sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw==" + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.2.4.tgz", + "integrity": "sha512-/gApFXWk5CCLFQJL5IYJXxPQuG5tz5nPX4l27A9Zm/+wJxiwFrRSP54AopDxIv4JRp/rGwcgk/lZS/0Clw8jYA==" }, "@next/swc-android-arm-eabi": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz", - "integrity": "sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.4.tgz", + "integrity": "sha512-P4YSFNpmXXSnn3P1qsOAqz+MX3On9fHrlc8ovb/CFJJoU+YLCR53iCEwfw39e0IZEgDA7ttgr108plF8mxaX0g==", "optional": true }, "@next/swc-android-arm64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz", - "integrity": "sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.2.4.tgz", + "integrity": "sha512-4o2n14E18O+8xHlf6dgJsWPXN9gmSmfIe2Z0EqKDIPBBkFt/2CyrH0+vwHnL2l7xkDHhOGfZYcYIWVUR5aNu0A==", "optional": true }, "@next/swc-darwin-arm64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz", - "integrity": "sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.4.tgz", + "integrity": "sha512-DcUO6MGBL9E3jj5o86MUnTOy4WawIJJhyCcFYO4f51sbl7+uPIYIx40eo98A6NwJEXazCqq1hLeqOaNTAIvDiQ==", "optional": true }, "@next/swc-darwin-x64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz", - "integrity": "sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.4.tgz", + "integrity": "sha512-IUlFMqeLjdIzDorrGC2Dt+2Ae3DbKQbRzCzmDq4/CP1+jJGeDXo/2AHnlE+WYnwQAC4KtAz6pbVnd3KstZWsVA==", "optional": true }, "@next/swc-freebsd-x64": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz", - "integrity": "sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.4.tgz", + "integrity": "sha512-475vwyWcjnyDVDWLgAATP0HI8W1rwByc+uXk1B6KkAVFhkoDgH387LW0uNqxavK+VxCzj3avQXX/58XDvxtSlg==", "optional": true }, "@next/swc-linux-arm-gnueabihf": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz", - "integrity": "sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.4.tgz", + "integrity": "sha512-qZW+L3iG3XSGtlOPmD5RRWXyk6ZNdscLV0BQjuDvP+exTg+uixqHXOHz0/GVATIJEBQOF0Kew7jAXVXEP+iRTQ==", "optional": true }, "@next/swc-linux-arm64-gnu": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz", - "integrity": "sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.4.tgz", + "integrity": "sha512-fEPRjItWYaKyyG9N+2HIA59OBHIhk7WC+Rh+LwXsh0pQe870Ykpek3KQs0umjsrEGe57NyMomq3f80/N8taDvA==", "optional": true }, "@next/swc-linux-arm64-musl": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz", - "integrity": "sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.4.tgz", + "integrity": "sha512-rnCTzXII0EBCcFn9P5s/Dho2kPUMSX/bP0iOAj8wEI/IxUEfEElbin89zJoNW30cycHu19xY8YP4K2+hzciPzQ==", "optional": true }, "@next/swc-linux-x64-gnu": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz", - "integrity": "sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.4.tgz", + "integrity": "sha512-PhXX6NSuIuhHInxPY2VkG2Bl7VllsD3Cjx+pQcS1wTym7Zt7UoLvn05PkRrkiyIkvR+UXnqPUM3TYiSbnemXEw==", "optional": true }, "@next/swc-linux-x64-musl": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz", - "integrity": "sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.4.tgz", + "integrity": "sha512-GmC/QROiUZpFirHRfPQqMyCXZ+5+ndbBZrMvL74HtQB/CKXB8K1VM+rvy9Gp/5OaU8Rxp48IcX79NOfI2LiXlA==", "optional": true }, "@next/swc-win32-arm64-msvc": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz", - "integrity": "sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.4.tgz", + "integrity": "sha512-9XKoCXbNZuaMRPtcKQz3+hgVpkMosaLlcxHFXT8/j4w61k7/qvEbrkMDS9WHNrD/xVcLycwhPRgXcns2K1BdBQ==", "optional": true }, "@next/swc-win32-ia32-msvc": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz", - "integrity": "sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.4.tgz", + "integrity": "sha512-hEyRieZKH9iw4AzvXaQ+Fyb98k0G/o9QcRGxA1/O/O/elf1+Qvuwb15phT8GbVtIeNziy66XTPOhKKfdr8KyUg==", "optional": true }, "@next/swc-win32-x64-msvc": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz", - "integrity": "sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.4.tgz", + "integrity": "sha512-5Pl1tdMJWLy4rvzU1ecx0nHWgDPqoYuvYoXE/5X0Clu9si/yOuBIj573F2kOTY7mu0LX2wgCJVSnyK0abHBxIw==", "optional": true }, "@nodelib/fs.scandir": { @@ -23455,9 +23461,9 @@ "devOptional": true }, "@sinclair/typebox": { - "version": "0.24.20", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", - "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==", + "version": "0.24.28", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.28.tgz", + "integrity": "sha512-dgJd3HLOkLmz4Bw50eZx/zJwtBq65nms3N9VBYu5LTjJ883oBFkTyXRlCB/ZGGwqYpJJHA5zW2Ibhl5ngITfow==", "dev": true }, "@sindresorhus/is": { @@ -23613,9 +23619,9 @@ } }, "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.0.tgz", + "integrity": "sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw==", "dev": true, "requires": { "@babel/types": "^7.3.0" @@ -23774,9 +23780,9 @@ "version": "6.0.1" }, "@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", + "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==", "dev": true }, "@types/prop-types": { @@ -24549,15 +24555,15 @@ } }, "babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.0.tgz", + "integrity": "sha512-EJM2dqxz9+uWJLLucZLPYAmRsHHt1IMkitAHGqjDlIP2IQXzkIMO3ATbBWk0lU6VwX4rNeVN04t/DDB8U5C2rg==", "dev": true, "requires": { - "@jest/transform": "^28.1.3", + "@jest/transform": "^29.0.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", + "babel-preset-jest": "^29.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -24630,9 +24636,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.0.tgz", + "integrity": "sha512-B9oaXrlxXHFWeWqhDPg03iqQd2UN/mg/VdZOsLaqAVBkztru3ctTryAI4zisxLEEgmcUnLTKewqx0gGifoXD3A==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -25029,12 +25035,12 @@ } }, "babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.0.tgz", + "integrity": "sha512-B5Ke47Xcs8rDF3p1korT3LoilpADCwbG93ALqtvqu6Xpf4d8alKkrCBTExbNzdHJcIuEPpfYvEaFFRGee2kUgQ==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^28.1.3", + "babel-plugin-jest-hoist": "^29.0.0", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -26041,9 +26047,9 @@ "version": "5.0.0" }, "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", "dev": true }, "dir-glob": { @@ -26920,25 +26926,25 @@ } }, "expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.0.tgz", + "integrity": "sha512-OKAHGwaBqZ6I7bas0cnrrvomEL2d0yp2XXYQhhnVHfaqDaKStUBxjWtlGu/uI2tBqwb9sBMvaS41DSJFsRRJHQ==", "dev": true, "requires": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/expect-utils": "^29.0.0", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -26947,9 +26953,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -26966,29 +26972,29 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -26997,13 +27003,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -28517,24 +28522,24 @@ "version": "2.1.0" }, "jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.0.tgz", + "integrity": "sha512-9uz4Tclskb8WrfRXqu66FsFCFoyYctwWXpruKwnD95FZqkyoEAA1oGH53HUn7nQx7uEgZTKdNl/Yo6DqqU+XMg==", "dev": true, "requires": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.0.0", + "@jest/types": "^29.0.0", "import-local": "^3.0.2", - "jest-cli": "^28.1.3" + "jest-cli": "^29.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -28543,9 +28548,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -28564,9 +28569,9 @@ } }, "jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", "dev": true, "requires": { "execa": "^5.0.0", @@ -28574,65 +28579,65 @@ } }, "jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.0.tgz", + "integrity": "sha512-6EX70/+ZdzPLShBeokMVIpUaq5cQpOsO4OCDiV1drKUHht0hmUOWvY6LE4pBSFdepB0Sukw4Y0ajRqtvLBO9/A==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/expect": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-each": "^29.0.0", + "jest-matcher-utils": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-runtime": "^29.0.0", + "jest-snapshot": "^29.0.0", + "jest-util": "^29.0.0", "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "dependencies": { "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" } }, "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -28650,9 +28655,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -28669,39 +28674,39 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -28710,13 +28715,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -28744,32 +28748,32 @@ } }, "jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.0.tgz", + "integrity": "sha512-VZUPQjWJKL8QABFiBk1tHeJ3czBodjU9r22ceQmeL7X8/M73FYxTte0RkYPHI2SiLPWy99GZNWA+oOu9x0xKOA==", "dev": true, "requires": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/types": "^29.0.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-config": "^29.0.0", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", "prompts": "^2.0.1", "yargs": "^17.3.1" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -28778,9 +28782,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -28797,12 +28801,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -28813,68 +28817,68 @@ } }, "jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.0.tgz", + "integrity": "sha512-RbcUgQBJDS0O8OThWUwm5UCfzo0zOymUX/cJzUNlYB1ZWqe3M8MFEcgwqgZSifYuYTi46xWu5cmkMiyRQAdnMw==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", + "@jest/test-sequencer": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-circus": "^29.0.0", + "jest-environment-node": "^29.0.0", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-runner": "^29.0.0", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "dependencies": { "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" } }, "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -28892,9 +28896,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -28935,53 +28939,53 @@ } }, "jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.0.tgz", + "integrity": "sha512-Cns21Vgu0z7LjtssL0SWkxmjclHdwXeECFAP3ONit5NPnGCbv+0Rqby8w9vK7NpFlUaFgMmLYYBsUjSmIhwpvg==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -28999,13 +29003,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -29056,15 +29059,15 @@ } }, "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.0.tgz", + "integrity": "sha512-erkuYf1dQBHow3XJmS+bH6t9TZ0GwrSdQGauN8sTqyZlFByOjRadmHgTTcAHINeeSwxzGHN2ob3PXVvZphD7XQ==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.0" }, "dependencies": { "chalk": { @@ -29078,13 +29081,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -29106,34 +29108,34 @@ } }, "jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.0.tgz", + "integrity": "sha512-ACKRvqdo7Bc0YrjQbrQtokpQ2NZxdXA63OklJht7a9UarCJXlZeWh51wEUe0ORqbnu15nAnX1YFQHmVpS1+ZXA==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.0.0", + "jest-util": "^29.0.0", + "pretty-format": "^29.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -29142,9 +29144,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -29161,12 +29163,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29175,13 +29177,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -29238,9 +29239,9 @@ } }, "jest-fail-on-console": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jest-fail-on-console/-/jest-fail-on-console-2.4.2.tgz", - "integrity": "sha512-CdulWZvfI+cz4+dXQr6p0BhhexFjLnIIBR/7YcpzPXFxrNozAruWkEjR1RU89cd7WXYwckX5ygvHuHQa3NjbOQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jest-fail-on-console/-/jest-fail-on-console-3.0.1.tgz", + "integrity": "sha512-1811WQIY9lZN9wGkp7S6y69vw9+u6I21dmnRwXo6jSuF6Xv5OlN4msNCeKEVlc/C2H5N8dqLKuQlTAzQZ0mJlw==", "dev": true, "requires": { "chalk": "^4.1.0" @@ -29257,9 +29258,9 @@ } }, "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", "dev": true }, "jest-github-actions-reporter": { @@ -29270,32 +29271,32 @@ } }, "jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.0.tgz", + "integrity": "sha512-mLyDt2WyNU0DZ64s7kRFkFJzrHEuXIxG+OKOs9/P5s1W7NzXE+P7SvLbxjz2Cg63cJjuglYRrD6fZcYf19T8Lw==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.0.0", + "jest-worker": "^29.0.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -29304,9 +29305,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -29323,12 +29324,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29337,9 +29338,9 @@ } }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.0.tgz", + "integrity": "sha512-2t9Panx3F9N1wAvRuZT7xLEptRFc1C5G90DOHniIGz1JIgF9uhd5u8jNBsc7wN63lhnaiLeVLnNx21wT7OVFEQ==", "dev": true, "requires": { "@types/node": "*", @@ -29361,13 +29362,13 @@ } }, "jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.0.tgz", + "integrity": "sha512-kBjNS0/z2+ZV/3N7R+ot5fKD2W1fHkoxC3kH/fkb2z24YSPfR9RGwiNX+YLRG9r0gWsxQx16boxzHT23G6rFBw==", "dev": true, "requires": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.0" }, "dependencies": { "ansi-styles": { @@ -29377,13 +29378,12 @@ "dev": true }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } @@ -29397,15 +29397,15 @@ } }, "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.0.tgz", + "integrity": "sha512-HtCxFHI8lQSbN1RppFjtl6DIrS+x4d3lOhpJljVxFEXob4lxlKon3FunW0XoGxNSvIoD00AfTFspnufpOqszrg==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.0.0" }, "dependencies": { "chalk": { @@ -29419,13 +29419,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -29501,35 +29500,35 @@ } }, "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", "dev": true }, "jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.0.tgz", + "integrity": "sha512-MN19maPUXzibBshYg/cSrDWqiJwEBur6gbQb2lwOL4+6k14wdNW8Xh0uNPPxUntb7cpTi07uql/bUO5TVwiJbA==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.0.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-util": "^29.0.0", + "jest-validate": "^29.0.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -29538,9 +29537,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -29557,12 +29556,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29579,77 +29578,77 @@ } }, "jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.0.tgz", + "integrity": "sha512-1TYUMcLZcUqa2fdUQ3leYtiXWXfNmimPvnJ34YDLLf0nyJ/aEeqlHJM9Ji2jw9Qxdh7nUypanjUlUV87yRHBFQ==", "dev": true, "requires": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.0.0" } }, "jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.0.tgz", + "integrity": "sha512-OpTpRIBOIn9RXuMMrpS+h9ZoK+nZHaOuNOceUiDbDoOJ6pmeGu0zst7VR22xXT3fOCwWqg5qe0fZ23G+ve5P0Q==", "dev": true, "requires": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.0.0", + "@jest/environment": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.0.0", + "jest-haste-map": "^29.0.0", + "jest-leak-detector": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-runtime": "^29.0.0", + "jest-util": "^29.0.0", + "jest-watcher": "^29.0.0", + "jest-worker": "^29.0.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, "dependencies": { "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" } }, "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -29667,9 +29666,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -29686,53 +29685,53 @@ } }, "jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.0.tgz", + "integrity": "sha512-Cns21Vgu0z7LjtssL0SWkxmjclHdwXeECFAP3ONit5NPnGCbv+0Rqby8w9vK7NpFlUaFgMmLYYBsUjSmIhwpvg==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29741,9 +29740,9 @@ } }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.0.tgz", + "integrity": "sha512-2t9Panx3F9N1wAvRuZT7xLEptRFc1C5G90DOHniIGz1JIgF9uhd5u8jNBsc7wN63lhnaiLeVLnNx21wT7OVFEQ==", "dev": true, "requires": { "@types/node": "*", @@ -29763,13 +29762,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -29807,68 +29805,68 @@ } }, "jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.0.tgz", + "integrity": "sha512-dU0qFpTRWZY7Rur7yBgpz4g67mITSozBZ1jlhoG4ER/P/NiTFyZ/W8nMd5floeAMafmbrOc/5A9SlCu7SQCoBA==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.0.0", + "@jest/fake-timers": "^29.0.0", + "@jest/globals": "^29.0.0", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.0.0", + "jest-snapshot": "^29.0.0", + "jest-util": "^29.0.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "dependencies": { "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.0.tgz", + "integrity": "sha512-ZHLvUENMAnwXowtyhmPRS0QLCXM4TS0ZfuiSR4QfRsJVN5lG4KdBDvI9kHJe/21vrgzPVOkvI7IBnkyPFCbV7g==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.0.0" } }, "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.0.tgz", + "integrity": "sha512-4tqH5fT9H0+Ms3Z1HLZ/JfpzJluep2Zo3uuj0KPyu6IIyYSHCDfkXuiBQNWUGvumZDLQ2Si03cC7Gq0r73VgVg==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.0.0", + "jest-mock": "^29.0.0", + "jest-util": "^29.0.0" } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -29886,9 +29884,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -29929,39 +29927,39 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.0.tgz", + "integrity": "sha512-0AWznVt415KMCxcJPaE2+tWaruw0w8aRrKH1Y/NZUx3+Pd9f20jQjUR82iHqGSuYS4EOHL9uI8SjAhJk+ET91g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -29979,13 +29977,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -30017,43 +30014,44 @@ "dev": true }, "jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.0.tgz", + "integrity": "sha512-rR3B8GInk/IibF0M/sQCukSM8xX8bPI3Q0kjoAw4HT9Mx0Q3bS0MmF74rsreBOnVJgzN0Iwrc7YY56Yp8KQ7kA==", "dev": true, "requires": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/expect-utils": "^29.0.0", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.3", + "expect": "^29.0.0", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-diff": "^29.0.0", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.0.0", + "jest-matcher-utils": "^29.0.0", + "jest-message-util": "^29.0.0", + "jest-util": "^29.0.0", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "semver": "^7.3.5" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -30062,9 +30060,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -30081,29 +30079,29 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.0.tgz", + "integrity": "sha512-4U0RdNV0TBTgVGzEchjryEpq4sqLO3gUQT7TEIbO5+q0K5MuiofOPcXk4GLpWviWByMRJjliQNMuzJ4YGT+oGQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -30112,13 +30110,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -30168,26 +30165,26 @@ } }, "jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.0.tgz", + "integrity": "sha512-UhgDKmahJnv5s5MK6a8kQ397YNS9euvL7gWTvUf7y0OO7vZeafUItlq3tguvfFVazQJ+kBGUm/XCJes7V61l8g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "pretty-format": "^29.0.0" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -30196,9 +30193,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -30221,13 +30218,12 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.0.tgz", + "integrity": "sha512-tMkFRn1vxRwZdiDETcveuNeonRKDg4doOvI+iyb1sOAtxYioGzRicqnsr+d3C/lLv9hBiM/2lDBi5ilR81h2bQ==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -30249,28 +30245,28 @@ } }, "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.0.tgz", + "integrity": "sha512-GoRq5QJt5/dv3keK7rIzg9R0e/HpTnjyMNYtCTTDZgGIj6QUDMpiJqt7Mwfyyaxwg5PS8gVyQvRQn6Lril4cuQ==", "dev": true, "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/test-result": "^29.0.0", + "@jest/types": "^29.0.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^28.1.3", + "jest-util": "^29.0.0", "string-length": "^4.0.1" }, "dependencies": { "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.0.tgz", + "integrity": "sha512-ErShruvByUF7vphEtPugMAphCtDIDdfWh3DxpBLxPEtHhL/H5MaidHsOutnOUhKpPL7QA6/7GitjFgLOLeGa1A==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -30279,9 +30275,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.11.tgz", + "integrity": "sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -30298,12 +30294,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.0.tgz", + "integrity": "sha512-HMjW/pkFgi34LGKumjNDK03DYonV+nPMNUZ63rZX8PFdBkdIWUtOCEiaa7sAJkWrw5MyMVzSpa22NcOJjoQ3JQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.0.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -31487,28 +31483,28 @@ "peer": true }, "next": { - "version": "12.2.5", - "resolved": "https://registry.npmjs.org/next/-/next-12.2.5.tgz", - "integrity": "sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA==", + "version": "12.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-12.2.4.tgz", + "integrity": "sha512-b1xlxEozmAWokAXzXsi5vlmU/IfJcFNIJA8dpU5UdkFbyDPio8wwb8mAQ/Y7rGtfTgG/t/u49BiyEA+xAgFvow==", "requires": { - "@next/env": "12.2.5", - "@next/swc-android-arm-eabi": "12.2.5", - "@next/swc-android-arm64": "12.2.5", - "@next/swc-darwin-arm64": "12.2.5", - "@next/swc-darwin-x64": "12.2.5", - "@next/swc-freebsd-x64": "12.2.5", - "@next/swc-linux-arm-gnueabihf": "12.2.5", - "@next/swc-linux-arm64-gnu": "12.2.5", - "@next/swc-linux-arm64-musl": "12.2.5", - "@next/swc-linux-x64-gnu": "12.2.5", - "@next/swc-linux-x64-musl": "12.2.5", - "@next/swc-win32-arm64-msvc": "12.2.5", - "@next/swc-win32-ia32-msvc": "12.2.5", - "@next/swc-win32-x64-msvc": "12.2.5", + "@next/env": "12.2.4", + "@next/swc-android-arm-eabi": "12.2.4", + "@next/swc-android-arm64": "12.2.4", + "@next/swc-darwin-arm64": "12.2.4", + "@next/swc-darwin-x64": "12.2.4", + "@next/swc-freebsd-x64": "12.2.4", + "@next/swc-linux-arm-gnueabihf": "12.2.4", + "@next/swc-linux-arm64-gnu": "12.2.4", + "@next/swc-linux-arm64-musl": "12.2.4", + "@next/swc-linux-x64-gnu": "12.2.4", + "@next/swc-linux-x64-musl": "12.2.4", + "@next/swc-win32-arm64-msvc": "12.2.4", + "@next/swc-win32-ia32-msvc": "12.2.4", + "@next/swc-win32-x64-msvc": "12.2.4", "@swc/helpers": "0.4.3", "caniuse-lite": "^1.0.30001332", "postcss": "8.4.14", - "styled-jsx": "5.0.4", + "styled-jsx": "5.0.2", "use-sync-external-store": "1.2.0" } }, @@ -33842,9 +33838,9 @@ } }, "styled-jsx": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.4.tgz", - "integrity": "sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.2.tgz", + "integrity": "sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==", "requires": {} }, "styled-system": { @@ -35015,9 +35011,9 @@ }, "dependencies": { "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } } diff --git a/package.json b/package.json index 18989a054f..5eb76756a9 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "mdast-util-to-string": "^3.1.0", "morgan": "^1.10.0", "msgpack5rpc": "^1.1.0", - "next": "12.2.5", + "next": "12.2.4", "parse5": "7.0.0", "port-used": "^2.0.8", "react": "^17.0.2", @@ -99,7 +99,7 @@ "@babel/preset-env": "^7.18.2", "@graphql-inspector/core": "^3.1.2", "@graphql-tools/load": "^7.5.14", - "@jest/globals": "^28.1.1", + "@jest/globals": "29.0.0", "@octokit/graphql": "4.8.0", "@octokit/rest": "^18.12.0", "@types/github-slugger": "^1.3.0", @@ -136,9 +136,9 @@ "http-status-code": "^2.1.0", "husky": "^8.0.1", "japanese-characters": "^1.1.0", - "jest": "28.1.3", + "jest": "29.0.0", "jest-environment-puppeteer": "^5.0.4", - "jest-fail-on-console": "^2.4.2", + "jest-fail-on-console": "^3.0.1", "jest-github-actions-reporter": "^1.0.3", "jest-slow-test-reporter": "^1.0.0", "kill-port": "2.0.0", @@ -183,7 +183,7 @@ "build": "next build", "debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES='en,ja' nodemon --inspect server.js", "dev": "cross-env npm start", - "index-test-fixtures": "node script/search/index-elasticsearch.js -s tests/content/fixtures/search-indexes -l en -V ghae -V dotcom", + "index-test-fixtures": "node script/search/index-elasticsearch.js -s tests/content/fixtures/search-indexes -l en -V ghae -V dotcom --index-prefix tests", "lint": "eslint '**/*.{js,mjs,ts,tsx}'", "lint-translation": "cross-env NODE_OPTIONS=--experimental-vm-modules TEST_TRANSLATION=true jest tests/linting/lint-files.js", "prepare": "husky install", diff --git a/script/rendered-content-link-checker.js b/script/rendered-content-link-checker.js index e3ece57f06..5bf9127978 100755 --- a/script/rendered-content-link-checker.js +++ b/script/rendered-content-link-checker.js @@ -12,6 +12,7 @@ import path from 'path' import cheerio from 'cheerio' import { program, Option, InvalidArgumentError } from 'commander' import chalk from 'chalk' +import got, { RequestError } from 'got' import shortVersions from '../middleware/contextualizers/short-versions.js' import contextualize from '../middleware/context.js' @@ -20,6 +21,7 @@ import getRedirect from '../lib/get-redirect.js' import warmServer from '../lib/warm-server.js' import renderContent from '../lib/render-content/index.js' import { deprecated } from '../lib/enterprise-server-releases.js' +import excludedLinks from '../lib/excluded-links.js' const STATIC_PREFIXES = { assets: path.resolve('assets'), @@ -32,6 +34,18 @@ Object.entries(STATIC_PREFIXES).forEach(([key, value]) => { } }) +// Return a function that can as quickly as possible check if a certain +// href input should be skipped. +// Do this so we can use a `Set` and a `iterable.some()` for a speedier +// check. +function linksToSkipFactory() { + const set = new Set(excludedLinks.filter((regexOrURL) => typeof regexOrURL === 'string')) + const regexes = excludedLinks.filter((regexOrURL) => regexOrURL instanceof RegExp) + return (href) => set.has(href) || regexes.some((regex) => regex.test(href)) +} + +const linksToSkip = linksToSkipFactory(excludedLinks) + const CONTENT_ROOT = path.resolve('content') const deprecatedVersionPrefixesRegex = new RegExp( @@ -56,9 +70,13 @@ program .option('-b, --bail', 'Exit on the first flaw') .option('--check-anchors', "Validate links that start with a '#' too") .option('--check-images', 'Validate local images too') + .option('--check-external-links', 'Check external URLs too') .option('-v, --verbose', 'Verbose outputs') .option('--debug', "Loud about everything it's doing") .option('--random', 'Load pages in a random order (useful for debugging)') + .option('--patient', 'Give external link checking longer timeouts and more retries') + .option('-o, --out ', 'Put warnings and errors into a file instead of stdout') + .option('--json-output', 'Print JSON to stdout or file instead') .option('--max ', 'integer argument (default: none)', (value) => { const parsed = parseInt(value, 10) if (isNaN(parsed)) { @@ -92,7 +110,19 @@ program main(program.opts(), program.args) async function main(opts, files) { - const { random, language, filter, exit, debug, max, verbose, list } = opts + const { + random, + language, + filter, + exit, + debug, + max, + verbose, + list, + checkExternalLinks, + jsonOutput, + out, + } = opts // Note! The reason we're using `warmServer()` in this script, // even though there's no server involved, is because @@ -133,12 +163,23 @@ async function main(opts, files) { const pages = getPages(pageList, languages, filters, files, max) debug && console.timeEnd('getPages') + if (checkExternalLinks && pages.length >= 100) { + console.warn( + chalk.yellow( + `Warning! Checking external URLs can be time costly. You're testing ${pages.length} pages.` + ) + ) + } + const processPagesStart = new Date() const flawsGroups = await Promise.all( pages.map((page) => processPage(page, pageMap, redirects, opts)) ) const processPagesEnd = new Date() const flaws = flawsGroups.flat() + if (jsonOutput) { + jsonPrintFlaws(flaws, opts) + } debug && printGlobalCacheHitRatio() @@ -149,6 +190,9 @@ async function main(opts, files) { console.log(`Took ${getDurationString(processPagesStart, processPagesEnd)}`) summarizeFlaws(flaws) + if (out && flaws.length > 0) { + console.log(`All flaws written to ${chalk.bold(out)}`) + } } if (exit) { @@ -221,7 +265,7 @@ function getPages(pageList, languages, filters, files, max) { } async function processPage(page, pageMap, redirects, opts) { - const { bail, verboseUrl } = opts + const { bail, verboseUrl, jsonOutput, out } = opts const allFlawsEach = await Promise.all( page.permalinks.map((permalink) => processPermalink(permalink, page, pageMap, redirects, opts)) @@ -230,48 +274,75 @@ async function processPage(page, pageMap, redirects, opts) { const allFlaws = allFlawsEach.flat() if (bail && allFlaws.length > 0) { - printFlaws(allFlaws, verboseUrl) + if (jsonOutput) { + jsonPrintFlaws(allFlaws, opts) + } else { + printFlaws(allFlaws, { verboseUrl, out }) + } process.exit(1) } - printFlaws(allFlaws, verboseUrl) + if (!jsonOutput) { + printFlaws(allFlaws, { verboseUrl, out }) + } return allFlaws } async function processPermalink(permalink, page, pageMap, redirects, opts) { - const { level, checkAnchors, checkImages } = opts + const { level, checkAnchors, checkImages, checkExternalLinks, verbose, patient } = opts const html = await renderInnerHTML(page, permalink) const $ = cheerio.load(html) const flaws = [] + const links = [] $('a[href]').each((i, link) => { - const { href } = link.attribs - - // The global cache can't be used for anchor links because they - // depend on each page it renders - if (!href.startsWith('#')) { - if (globalHrefCheckCache.has(href)) { - globalCacheHitCount++ - return globalHrefCheckCache.get(href) - } - globalCacheMissCount++ - } - - const flaw = checkHrefLink(href, $, redirects, pageMap, checkAnchors) - - // Again if it's *not* an anchor link, we can use the cache. - if (!href.startsWith('#')) { - globalHrefCheckCache.set(href, flaw) - } - - if (flaw) { - if (level === 'critical' && !flaw.CRITICAL) { - return - } - const text = $(link).text() - flaws.push({ permalink, page, href, flaw, text }) - } + links.push(link) }) + const newFlaws = await Promise.all( + links.map(async (link) => { + const { href } = link.attribs + + // The global cache can't be used for anchor links because they + // depend on each page it renders + if (!href.startsWith('#')) { + if (globalHrefCheckCache.has(href)) { + globalCacheHitCount++ + return globalHrefCheckCache.get(href) + } + globalCacheMissCount++ + } + + const flaw = await checkHrefLink( + href, + $, + redirects, + pageMap, + checkAnchors, + checkExternalLinks, + { verbose, patient } + ) + + if (flaw) { + if (level === 'critical' && !flaw.CRITICAL) { + return + } + const text = $(link).text() + if (!href.startsWith('#')) { + globalHrefCheckCache.set(href, { href, flaw, text }) + } + return { href, flaw, text } + } else { + if (!href.startsWith('#')) { + globalHrefCheckCache.set(href, flaw) + } + } + }) + ) + for (const flaw of newFlaws) { + if (flaw) { + flaws.push(Object.assign(flaw, { page, permalink })) + } + } if (checkImages) { $('img[src]').each((i, img) => { @@ -304,36 +375,92 @@ async function processPermalink(permalink, page, pageMap, redirects, opts) { return flaws } -function printFlaws(flaws, verboseUrl = null) { +function jsonPrintFlaws(flaws, { verboseUrl = null, out = null } = {}) { + const printableFlaws = {} + for (const { page, permalink, href, text, src, flaw } of flaws) { + const fullPath = prettyFullPath(page.fullPath) + + if (!(fullPath in printableFlaws)) { + printableFlaws[fullPath] = [] + } + if (href) { + printableFlaws[fullPath].push({ + href, + url: verboseUrl ? new URL(permalink.href, verboseUrl).toString() : permalink.href, + text, + flaw, + }) + } else if (src) { + printableFlaws[fullPath].push({ + src, + }) + } + } + const message = JSON.stringify(printableFlaws, undefined, 2) + if (out) { + fs.writeFileSync(out, message + '\n', 'utf-8') + } else { + console.log(message) + } +} + +function printFlaws(flaws, { verboseUrl = null, out = null } = {}) { let previousPage = null let previousPermalink = null + + function fout(msg) { + if (out) { + fs.appendFileSync(out, `${msg}\n`, 'utf-8') + } else { + console.log(msg) + } + } + for (const { page, permalink, href, text, src, flaw } of flaws) { + const fullPath = prettyFullPath(page.fullPath) if (page !== previousPage) { - console.log(`PAGE: ${chalk.bold(prettyFullPath(page.fullPath))}`) + if (out) { + fout(`PAGE: ${fullPath}`) + } else { + console.log(`PAGE: ${chalk.bold(fullPath)}`) + } } previousPage = page if (href) { if (previousPermalink !== permalink.href) { if (verboseUrl) { - console.log(` URL: ${new URL(permalink.href, verboseUrl).toString()}`) + fout(` URL: ${new URL(permalink.href, verboseUrl).toString()}`) } else { - console.log(` PERMALINK: ${permalink.href}`) + fout(` PERMALINK: ${permalink.href}`) } } previousPermalink = permalink.href - console.log(` HREF: ${chalk.bold(href)}`) - console.log(` TEXT: ${text}`) + if (out) { + fout(` HREF: ${href}`) + } else { + console.log(` HREF: ${chalk.bold(href)}`) + } + fout(` TEXT: ${text}`) } else if (src) { - console.log(` IMG SRC: ${chalk.bold(src)}`) + if (out) { + fout(` IMG SRC: ${src}`) + } else { + console.log(` IMG SRC: ${chalk.bold(src)}`) + } } else { throw new Error("Flaw has neither 'href' nor 'src'") } - console.log( - ` FLAW: ${flaw.CRITICAL ? chalk.red(flaw.CRITICAL) : chalk.yellow(flaw.WARNING)}` - ) - console.log('') + + if (out) { + fout(` FLAW: ${flaw.CRITICAL ? flaw.CRITICAL : flaw.WARNING}`) + } else { + console.log( + ` FLAW: ${flaw.CRITICAL ? chalk.red(flaw.CRITICAL) : chalk.yellow(flaw.WARNING)}` + ) + } + fout('') } } @@ -353,7 +480,15 @@ const globalImageSrcCheckCache = new Map() let globalCacheHitCount = 0 let globalCacheMissCount = 0 -function checkHrefLink(href, $, redirects, pageMap, checkAnchors = false) { +async function checkHrefLink( + href, + $, + redirects, + pageMap, + checkAnchors = false, + checkExternalLinks = false, + { verbose = false, patient = false } = {} +) { if (href === '#') { if (checkAnchors) { return { WARNING: 'Link is just an empty `#`' } @@ -399,9 +534,143 @@ function checkHrefLink(href, $, redirects, pageMap, checkAnchors = false) { return { CRITICAL: 'Broken link' } } } + } else if (checkExternalLinks) { + if (!href.startsWith('https://')) { + return { WARNING: `Will not check external URLs that are not HTTPS (${href})` } + } + if (linksToSkip(href)) { + return + } + const { ok, ...info } = await checkExternalURL(href, { verbose, patient }) + if (!ok) { + return { CRITICAL: `Broken external link (${JSON.stringify(info)})` } + } } } +const _fetchCache = new Map() +async function checkExternalURL(url, { verbose = false, patient = false } = {}) { + if (!url.startsWith('https://')) throw new Error('Invalid URL') + const cleanURL = url.split('#')[0] + if (!_fetchCache.has(cleanURL)) { + _fetchCache.set(cleanURL, innerFetch(cleanURL, { verbose, patient })) + } + return _fetchCache.get(cleanURL) +} + +const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)) + +// Global for recording which domains we get rate-limited on. +// For example, if you got rate limited on `something.github.com/foo` +// and now we're asked to fetch for `something.github.com/bar` +// it's good to know to now bother yet. +const _rateLimitedDomains = new Map() + +async function innerFetch(url, config = {}) { + const { verbose, useGET, patient } = config + + const { hostname } = new URL(url) + if (_rateLimitedDomains.has(hostname)) { + await sleep(_rateLimitedDomains.get(hostname)) + } + // The way `got` does retries: + // + // sleep = 1000 * Math.pow(2, retry - 1) + Math.random() * 100 + // + // So, it means: + // + // 1. ~1000ms + // 2. ~2000ms + // 3. ~4000ms + // + // ...if the limit we set is 3. + // Our own timeout, in ./middleware/timeout.js defaults to 10 seconds. + // So there's no point in trying more attempts than 3 because it would + // just timeout on the 10s. (i.e. 1000 + 2000 + 4000 + 8000 > 10,000) + const retry = { + limit: patient ? 5 : 2, + } + const timeout = { request: patient ? 10000 : 2000 } + + const headers = { + 'User-Agent': + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36', + } + + const retries = config.retries || 0 + const httpFunction = useGET ? got.get : got.head + + if (verbose) console.log(`External URL ${useGET ? 'GET' : 'HEAD'}: ${url} (retries: ${retries})`) + try { + const r = await httpFunction(url, { + headers, + throwHttpErrors: false, + retry, + timeout, + }) + if (verbose) { + console.log( + `External URL ${useGET ? 'GET' : 'HEAD'} ${url}: ${r.statusCode} (retries: ${retries})` + ) + } + + // If we get rate limited, remember that this hostname is now all + // rate limited. And sleep for the number of seconds that the + // `retry-after` header indicated. + if (r.statusCode === 429) { + let sleepTime = Math.min( + 60_000, + Math.max(10_000, getRetryAfterSleep(r.headers['retry-after'])) + ) + // Sprinkle a little jitter so it doesn't all start again all + // at the same time + sleepTime += Math.random() * 10 * 1000 + // Give it a bit extra when we can be really patient + if (patient) sleepTime += 30 * 1000 + + _rateLimitedDomains.set(hostname, sleepTime + Math.random() * 10 * 1000) + if (verbose) + console.log( + chalk.yellow( + `Rate limited on ${hostname} (${url}). Sleeping for ${(sleepTime / 1000).toFixed(1)}s` + ) + ) + await sleep(sleepTime) + return innerFetch(url, Object.assign({}, config, { retries: retries + 1 })) + } else { + _rateLimitedDomains.delete(hostname) + } + + // Perhaps the server doesn't suppport HEAD requests. + // If so, try again with a regular GET. + if ((r.statusCode === 405 || r.statusCode === 404) && !useGET) { + return innerFetch(url, Object.assign({}, config, { useGET: true })) + } + if (verbose) { + console.log((r.ok ? chalk.green : chalk.red)(`${r.statusCode} on ${url}`)) + } + return { ok: r.ok, statusCode: r.statusCode } + } catch (err) { + if (err instanceof RequestError) { + if (verbose) { + console.log(chalk.yellow(`RequestError (${err.message}) on ${url}`)) + } + return { ok: false, requestError: err.message } + } + throw err + } +} + +// Return number of milliseconds from a `Retry-After` header value +function getRetryAfterSleep(headerValue) { + if (!headerValue) return 0 + let ms = Math.round(parseFloat(headerValue) * 1000) + if (isNaN(ms)) { + ms = Math.max(0, new Date(headerValue) - new Date()) + } + return ms +} + function checkImageSrc(src, $) { const pathname = new URL(src, 'http://example.com').pathname if (!pathname.startsWith('/')) { diff --git a/script/rest/utils/get-body-params.js b/script/rest/utils/get-body-params.js new file mode 100644 index 0000000000..2618cd32e1 --- /dev/null +++ b/script/rest/utils/get-body-params.js @@ -0,0 +1,152 @@ +#!/usr/bin/env node +import renderContent from '../../../lib/render-content/index.js' + +// If there is a oneOf at the top level, then we have to present just one +// in the docs. We don't currently have a convention for showing more than one +// set of input parameters in the docs. Having a top-level oneOf is also very +// uncommon. +// Currently there aren't very many operations that require this treatment. +// As an example, the 'Add status check contexts' and 'Set status check contexts' +// operations have a top-level oneOf. + +async function getTopLevelOneOfProperty(schema) { + if (!schema.oneOf) { + throw new Error('Schema does not have a requestBody oneOf property defined') + } + if (!(Array.isArray(schema.oneOf) && schema.oneOf.length > 0)) { + throw new Error('Schema requestBody oneOf property is not an array') + } + // When a oneOf exists but the `type` differs, the case has historically + // been that the alternate option is an array, where the first option + // is the array as a property of the object. We need to ensure that the + // first option listed is the most comprehensive and preferred option. + const firstOneOfObject = schema.oneOf[0] + const allOneOfAreObjects = schema.oneOf.every((elem) => elem.type === 'object') + let required = firstOneOfObject.required || [] + let properties = firstOneOfObject.properties || {} + + // When all of the oneOf objects have the `type: object` we + // need to display all of the parameters. + // This merges all of the properties and required values. + if (allOneOfAreObjects) { + for (const each of schema.oneOf.slice(1)) { + Object.assign(firstOneOfObject.properties, each.properties) + required = firstOneOfObject.required.concat(each.required) + } + properties = firstOneOfObject.properties + } + return { properties, required } +} + +// Gets the body parameters for a given schema recursively. +export async function getBodyParams(schema, topLevel = false) { + const bodyParametersParsed = [] + const schemaObject = schema.oneOf && topLevel ? await getTopLevelOneOfProperty(schema) : schema + const properties = schemaObject.properties || {} + const required = schemaObject.required || [] + + for (const [paramKey, param] of Object.entries(properties)) { + const paramDecorated = {} + + // OpenAPI 3.0 only had a single value for `type`. OpenAPI 3.1 + // will either be a single value or an array of values. + // This makes type an array regardless of how many values the array + // includes. This allows us to support 3.1 while remaining backwards + // compatible with 3.0. + const paramType = Array.isArray(param.type) ? param.type : [param.type] + const additionalPropertiesType = param.additionalProperties + ? Array.isArray(param.additionalProperties.type) + ? param.additionalProperties.type + : [param.additionalProperties.type] + : [] + const childParamsGroups = [] + + // If the parameter is an array or object there may be child params + // If the parameter has oneOf or additionalProperties, they need to be + // recursively read too. + + // There are a couple operations with additionalProperties, which allows + // the api to define input parameters with the type dictionary. These are the only + // two operations (at the time of adding this code) that use additionalProperties + // Create a snapshot of dependencies for a repository + // Update a gist + if (param.additionalProperties && additionalPropertiesType.includes('object')) { + const keyParam = { + type: 'object', + name: 'key', + description: await renderContent( + `A user-defined key to represent an item in \`${paramKey}\`.` + ), + isRequired: param.required, + enum: param.enum, + default: param.default, + childParamsGroups: [], + } + keyParam.childParamsGroups.push(...(await getBodyParams(param.additionalProperties, false))) + childParamsGroups.push(keyParam) + } else if (paramType && paramType.includes('array')) { + const arrayType = param.items.type + if (arrayType) { + paramType.splice(paramType.indexOf('array'), 1, `array of ${arrayType}s`) + } + if (arrayType === 'object') { + childParamsGroups.push(...(await getBodyParams(param.items, false))) + } + } else if (paramType && paramType.includes('object')) { + childParamsGroups.push(...(await getBodyParams(param, false))) + } else if (param && param.oneOf) { + // get concatenated description and type + const descriptions = [] + for (const childParam of param.oneOf) { + paramType.push(childParam.type) + // If there is no parent description, create a description from + // each type + if (!param.description) { + if (childParam.type === 'array') { + if (childParam.items.description) { + descriptions.push({ + type: childParam.type, + description: childParam.items.description, + }) + } + } else { + if (childParam.description) { + descriptions.push({ type: childParam.type, description: childParam.description }) + } + } + } + } + // Occasionally, there is no parent description and the description + // is in the first child parameter. + const oneOfDescriptions = descriptions.length ? descriptions[0].description : '' + if (!param.description) param.description = oneOfDescriptions + } + + // Supports backwards compatibility for OpenAPI 3.0 + // In 3.1 a nullable type is part of the param.type array and + // the property param.nullable does not exist. + if (param.nullable) paramType.push('null') + paramDecorated.type = paramType.filter(Boolean).join(' or ') + paramDecorated.name = paramKey + if (topLevel) { + paramDecorated.in = 'body' + } + paramDecorated.description = await renderContent(param.description) + if (required.includes(paramKey)) { + paramDecorated.isRequired = true + } + if (childParamsGroups.length > 0) { + paramDecorated.childParamsGroups = childParamsGroups + } + if (param.enum) { + paramDecorated.enum = param.enum + } + if (param.default) { + paramDecorated.default = param.default + } + + bodyParametersParsed.push(paramDecorated) + } + + return bodyParametersParsed +} diff --git a/script/rest/utils/operation.js b/script/rest/utils/operation.js index 6e59cc9451..88a087d6a4 100644 --- a/script/rest/utils/operation.js +++ b/script/rest/utils/operation.js @@ -8,6 +8,7 @@ import { parseTemplate } from 'url-template' import renderContent from '../../../lib/render-content/index.js' import getCodeSamples from './create-rest-examples.js' import operationSchema from './operation-schema.js' +import { getBodyParams } from './get-body-params.js' const { operationUrls } = JSON.parse( await readFile('script/rest/utils/rest-api-overrides.json', 'utf8') @@ -184,148 +185,3 @@ export default class Operation { ) } } - -// If there is a oneOf at the top level, then we have to present just one -// in the docs. We don't currently have a convention for showing more than one -// set of input parameters in the docs. Having a top-level oneOf is also very -// uncommon. -// Currently there aren't very many operations that require this treatment. -// As an example, the 'Add status check contexts' and 'Set status check contexts' -// operations have a top-level oneOf. -async function getTopLevelOneOfProperty(schema) { - if (!schema.oneOf) { - throw new Error('Schema does not have a requestBody oneOf property defined') - } - if (!(Array.isArray(schema.oneOf) && schema.oneOf.length > 0)) { - throw new Error('Schema requestBody oneOf property is not an array') - } - // When a oneOf exists but the `type` differs, the case has historically - // been that the alternate option is an array, where the first option - // is the array as a property of the object. We need to ensure that the - // first option listed is the most comprehensive and preferred option. - const firstOneOfObject = schema.oneOf[0] - const allOneOfAreObjects = schema.oneOf.every((elem) => elem.type === 'object') - let required = firstOneOfObject.required || [] - let properties = firstOneOfObject.properties || {} - - // When all of the oneOf objects have the `type: object` we - // need to display all of the parameters. - // This merges all of the properties and required values. - if (allOneOfAreObjects) { - for (const each of schema.oneOf.slice(1)) { - Object.assign(firstOneOfObject.properties, each.properties) - required = firstOneOfObject.required.concat(each.required) - } - properties = firstOneOfObject.properties - } - return { properties, required } -} - -// Gets the body parameters for a given schema recursively. -async function getBodyParams(schema, topLevel = false) { - const bodyParametersParsed = [] - const schemaObject = schema.oneOf && topLevel ? await getTopLevelOneOfProperty(schema) : schema - const properties = schemaObject.properties || {} - const required = schemaObject.required || [] - - for (const [paramKey, param] of Object.entries(properties)) { - const paramDecorated = {} - - // OpenAPI 3.0 only had a single value for `type`. OpenAPI 3.1 - // will either be a single value or an array of values. - // This makes type an array regardless of how many values the array - // includes. This allows us to support 3.1 while remaining backwards - // compatible with 3.0. - const paramType = Array.isArray(param.type) ? param.type : [param.type] - const additionalPropertiesType = param.additionalProperties - ? Array.isArray(param.additionalProperties.type) - ? param.additionalProperties.type - : [param.additionalProperties.type] - : [] - const childParamsGroups = [] - - // If the parameter is an array or object there may be child params - // If the parameter has oneOf or additionalProperties, they need to be - // recursively read too. - - // There are a couple operations with additionalProperties, which allows - // the api to define input parameters with the type dictionary. These are the only - // two operations (at the time of adding this code) that use additionalProperties - // Create a snapshot of dependencies for a repository - // Update a gist - if (param.additionalProperties && additionalPropertiesType.includes('object')) { - const keyParam = { - type: 'object', - name: 'key', - description: `

A user-defined key to represent an item in ${paramKey}.

`, - isRequired: param.required, - enum: param.enum, - default: param.default, - childParamsGroups: [], - } - keyParam.childParamsGroups.push(...(await getBodyParams(param.additionalProperties))) - childParamsGroups.push(keyParam) - } else if (paramType && paramType.includes('array')) { - const arrayType = param.items.type - if (arrayType) { - paramType.splice(paramType.indexOf('array'), 1, `array of ${arrayType}s`) - } - if (arrayType === 'object') { - childParamsGroups.push(...(await getBodyParams(param.items))) - } - } else if (paramType && paramType.includes('object')) { - childParamsGroups.push(...(await getBodyParams(param))) - } else if (param && param.oneOf) { - // get concatenated description and type - const descriptions = [] - for (const childParam of param.oneOf) { - paramType.push(childParam.type) - // If there is no parent description, create a description from - // each type - if (!param.description) { - if (childParam.type === 'array') { - if (childParam.items.description) { - descriptions.push({ - type: childParam.type, - description: childParam.items.description, - }) - } - } else { - if (childParam.description) { - descriptions.push({ type: childParam.type, description: childParam.description }) - } - } - } - } - // Occasionally, there is no parent description and the description - // is in the first child parameter. - const oneOfDescriptions = descriptions.length ? descriptions[0].description : '' - if (!param.description) param.description = oneOfDescriptions - } - - paramDecorated.type = paramType.filter(Boolean).join(' or ') - paramDecorated.name = paramKey - if (topLevel) { - paramDecorated.in = 'body' - } - paramDecorated.description = await renderContent(param.description) - if (required.includes(paramKey)) { - paramDecorated.isRequired = true - } - if (childParamsGroups.length > 0) { - paramDecorated.childParamsGroups = childParamsGroups - } - if (param.enum) { - paramDecorated.enum = param.enum - } - if (param.default) { - paramDecorated.default = param.default - } - // Supports backwards compatibility for OpenAPI 3.0 - // In 3.1 a nullable type is part of the param.type array and - // the property param.nullable does not exist. - if (param.nullable) paramDecorated.type('null') - bodyParametersParsed.push(paramDecorated) - } - return bodyParametersParsed -} diff --git a/script/search/index-elasticsearch.js b/script/search/index-elasticsearch.js index ad055f6ce8..3e41ca2413 100755 --- a/script/search/index-elasticsearch.js +++ b/script/search/index-elasticsearch.js @@ -13,11 +13,15 @@ import path from 'path' import { Client } from '@elastic/elasticsearch' import { program, Option } from 'commander' import chalk from 'chalk' +import dotenv from 'dotenv' import { languageKeys } from '../../lib/languages.js' import { allVersions } from '../../lib/all-versions.js' import { decompress } from '../../lib/search/compress.js' +// Now you can optionally have set the ELASTICSEARCH_URL in your .env file. +dotenv.config() + // Create an object that maps the "short name" of a version to // all information about it. E.g // @@ -61,6 +65,7 @@ program '-s, --source-directory ', `Directory where records files are (default ${DEFAULT_SOURCE_DIRECTORY})` ) + .option('-p, --index-prefix ', 'Index string to put before index name') .parse(process.argv) main(program.opts()) @@ -122,10 +127,13 @@ async function main(opts) { console.log(`Indexing on languages ${chalk.bold(languages.join(', '))}`) } + const { indexPrefix } = opts + const prefix = indexPrefix ? `${indexPrefix}_` : '' + for (const language of languages) { for (const versionKey of versionKeys) { console.log(chalk.yellow(`Indexing ${chalk.bold(versionKey)} in ${chalk.bold(language)}`)) - const indexName = `github-docs-${versionKey}-${language}` + const indexName = `${prefix}github-docs-${versionKey}-${language}` console.time(`Indexing ${indexName}`) await indexVersion(client, indexName, versionKey, language, sourceDirectory, verbose) diff --git a/tests/meta/repository-references.js b/tests/meta/repository-references.js index 261ce28119..d9526f9841 100644 --- a/tests/meta/repository-references.js +++ b/tests/meta/repository-references.js @@ -66,6 +66,7 @@ const PUBLIC_REPOS = new Set([ 'super-linter', 'tweetsodium', 'VisualStudio', + 'codespaces-getting-started-ml', ]) const ALLOW_DOCS_PATHS = [ diff --git a/tests/translations/files.js b/tests/translations/files.js index 9bb020f87c..2fcea620d6 100644 --- a/tests/translations/files.js +++ b/tests/translations/files.js @@ -55,7 +55,8 @@ describe('files', () => { .map(path => path.replace('.md', '')) for (const path of paths) { const res = await get(`/${code}/${path}`) - expect(res.statusCode, path).toBe(200) + expect(res.statusCode, path).toBeGreaterThanOrEqual(200) + expect(res.statusCode, path).toBeLessThanOrEqual(399) } }) diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md index 6d236d1cd1..d6b35dde09 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/setting-your-profile-to-private.md @@ -1,63 +1,63 @@ --- -title: Setting your profile to private -intro: 'A private profile displays only limited information, and hides some activity.' +title: Configurar tu perfil como privado +intro: Un perfil privado muestra información limitada únicamente y oculta algo de actividad. versions: fpt: '*' topics: - Profiles -shortTitle: Set profile to private +shortTitle: Configurar el perfil como privado --- -## About private profiles +## Acerca de los perfiles privados {% note %} -**Note:** Private profiles are currently in beta and are subject to change. +**Nota:** Los perfiles privados se encuentran actualmente en beta y están sujetos a cambios. {% endnote %} -To hide parts of your profile page, you can make your profile private. This also hides your activity in various social features on {% data variables.product.prodname_dotcom_the_website %}. A private profile hides information from all users, and there is currently no option to allow specified users to see your activity. +Para ocultar partes de tu página de perfil, puedes hacer a tu perfil privado. Esto también oculta tu actividad en varias características sociales de {% data variables.product.prodname_dotcom_the_website %}. Un perfil privado oculta información para todos los usuarios y actualmente no hay una opción para permitir que usuarios específicos vea tu actividad. -After making your profile private, you can still view all your information when you visit your own profile. +Después de hacer a tu perfil privado, aún puedes ver toda tu información cuando visitas tu propio perfil. -Private profiles cannot receive sponsorships under [{% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). To be eligible for {% data variables.product.prodname_sponsors %}, your profile cannot be private. +Los perfiles privados no pueden recibir patrocinios bajo [{% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors). Para que pueda ser elegible para {% data variables.product.prodname_sponsors %}, tu perfil no puede ser privado. -## Differences between private and public profiles +## Diferencias entre los perfiles públicos y privados -When your profile is private, the following content is hidden from your profile page: +Cuando tu perfil es privado, el siguiente contenido se oculta de tu página de perfil: -- Achievements and highlights. -- Activity overview and activity feed. -- Contribution graph. -- Follower and following counts. -- Follow and Sponsor buttons. -- Organization memberships. -- Stars, projects, packages, and sponsoring tabs. +- Los logros y puntos destacados. +- El resumen de la actividad y la fuente de actividad. +- La gráfica de contribuciones. +- Los conteos de seguidores y seguidos. +- Los botones de seguir y de patrocinar. +- Las membrecías de organización. +- Las pestañas de favoritos, proyectos, paquetes y patrocinando. {% note %} -**Note**: When your profile is private, some optional fields are still publicly visible, such as the README, biography, and profile photo. +**Nota**: Cuando tu perfil es privado, algunos de los campos opcionales aún se encuentran visibles para el público tal como el README, la biografía y la foto de perfil. {% endnote %} -## Changes to reporting on your activities +## Cambios a reportar en tus actividades -By making your profile private, you will not remove or hide past activity; this setting only applies to your activity while the private setting is enabled. +Al hacer tu perfil privado, no eliminarás ni ocultarás la actividad anterior; este ajuste solo aplica a tu actividad mientras el ajuste privado esté habilitado. -When your profile is private, your {% data variables.product.prodname_dotcom_the_website %} activity will not appear in the following locations: +Cuando tu perfil es privado, tu actividad de {% data variables.product.prodname_dotcom_the_website %} no se mostrará en las siguientes ubicaciones: -- Activity feeds for other users. -- Discussions leaderboards. -- The [Trending](https://github.com/trending) page. +- Fuentes de actividad para otros usuarios. +- Tablas de clasificación de debates. +- La página de [Tendencias](https://github.com/trending). {% note %} -**Note**: Your activity on public repositories will still be publicly visible to anyone viewing those repositories, and some activity data may still be available through the {% data variables.product.prodname_dotcom %} API. +**Nota**: Cualquiera que vea estos repositorios tendrá visibilidad del público en general para tu actividad en los repositorios públicos y algunos datos de la actividad aún estarán disponibles mediante la API de {% data variables.product.prodname_dotcom %}. {% endnote %} -## Changing your profile's privacy settings +## Cambiar los ajustes de privacidad de tu perfil {% data reusables.user-settings.access_settings %} -1. Under "Contributions & Activity", select the checkbox next to **Make profile private and hide activity**. +1. Dababjo de "Contribuciones & actividad", selecciona la casilla de verificación junto a **Hacer perfil privado y ocultar actividad**. {% data reusables.user-settings.update-preferences %} diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md index cdc8f7a80c..3bb4ede446 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -1,6 +1,6 @@ --- title: Setting up and managing your personal account on GitHub -intro: 'You can manage settings for your personal account on {% data variables.product.prodname_dotcom %}, including email preferences, collaborator access for personal repositories, and organization memberships.' +intro: 'You can manage settings for your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, including email preferences, access to personal repositories, and organization memberships. You can also manage the account itself.' shortTitle: Cuentas personales redirect_from: - /categories/setting-up-and-managing-your-github-user-account @@ -15,6 +15,7 @@ topics: - Accounts children: - /managing-personal-account-settings + - /managing-your-personal-account - /managing-email-preferences - /managing-access-to-your-personal-repositories - /managing-your-membership-in-organizations diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index 1288b54218..91c180cbd8 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -1,6 +1,6 @@ --- title: Administrar las configuraciones del usuario de la cuenta -intro: 'Puedes cambiar varias configuraciones de tu cuenta personal, lo que incluye cambiar tu nombre de usuario y eliminar tu cuenta.' +intro: 'You can manage settings for your personal account, including your theme, username, default branch, accessibility, and security settings.' redirect_from: - /categories/29/articles - /categories/user-accounts @@ -19,17 +19,14 @@ children: - /managing-your-theme-settings - /managing-your-tab-size-rendering-preference - /changing-your-github-username - - /merging-multiple-personal-accounts - - /converting-a-user-into-an-organization - - /deleting-your-personal-account - /permission-levels-for-a-personal-account-repository - /permission-levels-for-a-project-board-owned-by-a-personal-account - /managing-accessibility-settings - /managing-the-default-branch-name-for-your-repositories - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards + - /managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages - /integrating-jira-with-your-personal-projects - - /best-practices-for-leaving-your-company - /what-does-the-available-for-hire-checkbox-do shortTitle: Ajustes de cuenta personal --- diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md new file mode 100644 index 0000000000..41ff7da201 --- /dev/null +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-cookie-preferences-for-githubs-enterprise-marketing-pages.md @@ -0,0 +1,33 @@ +--- +title: Managing your cookie preferences for GitHub's enterprise marketing pages +intro: 'You can control how {% data variables.product.company_short %} uses information from non-essential tracking cookies for enterprise marketing pages.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +shortTitle: Manage cookie preferences +--- + +## About cookie preferences on enterprise marketing pages + +{% data variables.product.company_short %} may use non-essential cookies on some enterprise marketing pages. You can customize how these cookies behave. For more information about how {% data variables.product.company_short %} uses cookies, see "[{% data variables.product.company_short %} Privacy Statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement)." + +## Changing your cookie preferences + +You can customize how non-essential cookies behave on any {% data variables.product.company_short %} enterprise marketing page. + +1. Navigate to the {% data variables.product.company_short %} enterprise marketing page where you'd like to change your cookie preferences. For example, navigate to [{% data variables.product.company_short %} Resources](https://resources.github.com/). +1. Scroll to the bottom of the page, then click **Manage Cookies**. + + ![Screenshot of button to manage cookie settings.](/assets/images/help/settings/cookie-settings-manage.png) + +1. Under "Manage cookie preferences," to accept or reject each non-essential cookie, click **Accept** or **Reject**. + + ![Screenshot of radio buttons to choose "Accept" or "Reject" for non-essential cookies.](/assets/images/help/settings/cookie-settings-accept-or-reject.png) + +1. Haz clic en **Guardar cambios**. + + ![Screenshot of button to save changes.](/assets/images/help/settings/cookie-settings-save.png) diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md similarity index 96% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md index 43c747822e..14c1b83cfd 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -6,6 +6,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/best-practices-for-leaving-your-company - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company versions: fpt: '*' ghec: '*' diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md similarity index 95% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md index c2c41a63e6..57ad4ace23 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -7,6 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization intro: Puedes convertir tu cuenta personal en una organización. Esto permite que haya más permisos granulares para repositorios que pertenecen a la organización. versions: fpt: '*' @@ -66,5 +67,5 @@ También puedes convertir tu cuenta personal directamente en una organización. ## Leer más - "[Configurar equipos](/articles/setting-up-teams)" -{% ifversion fpt or ghec %}- "[Invitar usuarios a unirse a tu organización](/articles/inviting-users-to-join-your-organization)"{% endif %} +{% ifversion fpt or ghec %}- "[Invitar usuarios para que se unan a tu organización](/articles/inviting-users-to-join-your-organization)"{% endif %} - "[Acceder a una organización](/articles/accessing-an-organization)" diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md similarity index 59% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index 23d646bd21..0757d38da6 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -1,39 +1,53 @@ --- title: Deleting your personal account -intro: 'Puedes borrar tu cuenta personal de {% data variables.product.product_name %} en cualquier momento.' +intro: 'Puedes borrar tu cuenta personal de {% data variables.product.product_location %} en cualquier momento.' redirect_from: - /articles/deleting-a-user-account - /articles/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account versions: fpt: '*' ghes: '*' ghec: '*' topics: - Accounts -shortTitle: Borrar tu cuenta personal +shortTitle: Delete your account --- -El borrar tu cuenta personal elimina todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de cambios y páginas que pertenecen a tu cuenta. {% ifversion fpt or ghec %}No se eliminarán las propuestas ni las solicitudes de extracción que hayas creado ni los comentarios que hayas hecho en repositorios que sean propiedad de otros usuarios. En lugar de eliminarlos, se los asociará con nuestro [Usuario fantasma](https://github.com/ghost).{% else %}No se eliminarán las propuestas ni las solicitudes de extracción que hayas creado ni los comentarios que hayas hecho en repositorios que sean propiedad de otros usuarios.{% endif %} +## About deletion of your personal account -{% ifversion fpt or ghec %} Dejaremos de cobrarte cuando borras tu cuenta. La dirección asociada con la cuenta se hace disponible para utilizarse con una cuenta diferente en {% data variables.product.product_location %}. Después de 90 días, el nombre de cuenta también pone disponible para que cualquiera con una cuenta nueva lo utilice. {% endif %} +El borrar tu cuenta personal elimina todos los repositorios, bifurcaciones de repositorios privados, wikis, propuestas, solicitudes de cambios y páginas que pertenecen a tu cuenta. {% ifversion fpt or ghec %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted. Your resources and comments will become associated with the [ghost user](https://github.com/ghost).{% else %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted.{% endif %} -Si eres el único propietario de una organización, deberás transferir la propiedad a otra persona o borrar la organización antes de que puedas borrar tu cuenta personal. Si existen otros propietarios en la organización, debes eliminarte de ella antes de que puedas borrar tu cuenta personal. +{% ifversion ghec %} + +{% note %} + +**Note**: If your enterprise manages your account and you sign into {% data variables.product.product_location %} through your company's identity provider (IdP), you cannot delete your account. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)". + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %}When you delete your account we stop billing you. La dirección asociada con la cuenta se hace disponible para utilizarse con una cuenta diferente en {% data variables.product.product_location %}. Después de 90 días, el nombre de cuenta también pone disponible para que cualquiera con una cuenta nueva lo utilice. {% endif %} + +If you're the only owner of an organization, you must transfer ownership to another person or delete the organization before you can delete your personal account. Si existen otros propietarios en la organización, debes eliminarte de ella antes de que puedas borrar tu cuenta personal. + +Para obtener más información, consulta los siguientes artículos. -Para obtener más información, consulta: - "[Transferir la propiedad de la organización](/articles/transferring-organization-ownership)" - "[Eliminar una cuenta de la organización](/articles/deleting-an-organization-account)" - "[Eliminarte de una organización](/articles/removing-yourself-from-an-organization/)" ## Copias de seguridad de los datos de tu cuenta -Antes de que borres tu cuenta personal, haz una copia de todos los repositorios, bifurcaciones privadas, wikis, propuestas y solicitudes de cambios que le pertenezcan a tu cuenta. +Antes de que borres tu cuenta personal, haz una copia de todos los repositorios, bifurcaciones privadas, wikis, propuestas y solicitudes de cambios que le pertenezcan a tu cuenta. For more information, see "[Backing up a repository](/repositories/archiving-a-github-repository/backing-up-a-repository)." {% warning %} -**Advertencia** Una vez que tu cuenta personal se haya borrado, GitHub no podrá restablecer tu contenido. +**Warning:** Once your personal account has been deleted, {% ifversion fpt or ghec %}{% data variables.product.company_short %}{% elsif ghes or ghae %}an enterprise owner{% endif %} cannot restore your content. {% endwarning %} diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 0000000000..ab1c7a9394 --- /dev/null +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md @@ -0,0 +1,19 @@ +--- +title: Managing your personal account +intro: 'You can manage your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. For example, you can {% ifversion fpt or ghec %}manage multiple accounts, {% endif %}convert an account to an organization{% ifversion fpt or ghec or ghes %}, or delete an account{% endif %}.' +shortTitle: Manage personal account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /managing-multiple-accounts + - /merging-multiple-personal-accounts + - /converting-a-user-into-an-organization + - /best-practices-for-leaving-your-company + - /deleting-your-personal-account +--- + diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md new file mode 100644 index 0000000000..9af9d7d083 --- /dev/null +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md @@ -0,0 +1,105 @@ +--- +title: Managing multiple accounts +intro: 'If you use one workstation to contribute to projects for more than one account on {% data variables.product.product_location %}, you can modify your Git configuration to simplify the contribution process.' +versions: + feature: multiple-accounts-one-workstation +topics: + - Accounts + - Git + - GitHub +shortTitle: Manage multiple accounts +--- + +## About management of multiple accounts + +In some cases, you may need to use multiple accounts on {% data variables.product.product_location %}. For example, you may have a personal account for open source contributions, and your employer may also create and manage a user account for you within an enterprise. + +You cannot use your {% data variables.product.prodname_managed_user %} to contribute to public projects on {% data variables.product.product_location %}, so you must contribute to those resources using your personal account. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% elsif ghec %}".{% endif %} + +If you want to use one workstation to contribute from both accounts, you can simplify contribution with Git by using a mixture of protocols to access repository data, or by using credentials on a per-repository basis. + +{% warning %} + +**Warning**: Be mindful when you use one workstation to contribute to two separate accounts. Management of two or more accounts can increase the chance of mistakenly leaking internal code to the public. + +{% endwarning %} + +If you aren't required to use a {% data variables.product.prodname_managed_user %}, {% data variables.product.company_short %} recommends that you use one personal account for all your work on {% data variables.product.product_location %}. With a single personal account, you can contribute to a combination of personal, open source, or professional projects using one identity. Other people can invite the account to contribute to both individual repositories and repositories owned by an organization, and the account can be a member of multiple organizations or enterprises. + +## Contributing to two accounts using HTTPS and SSH + +If you contribute with two accounts from one workstation, you can access repositories by using a different protocol and credentials for each account. + +Git can use either the HTTPS or SSH protocol to access and update data in repositories on {% data variables.product.product_location %}. The protocol you use to clone a repository determines which credentials your workstation will use to authenticate when you access the repository. With this approach to account management, you store the credentials for one account to use for HTTPS connections and upload an SSH key to the other account to use for SSH connections. + +You can find both the HTTPS or an SSH URLs for cloning a repository on {% data variables.product.product_name %}. Para obtener más información, consulta "[Clonar un repositorio](/repositories/creating-and-managing-repositories/cloning-a-repository)". + +For more information about the use of SSH to access repositories on {% data variables.product.product_name %}, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +## Contributing to multiple accounts using HTTPS and PATs + +Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens (PAT) for each account by configuring Git to store different credentials for each repository. + +{% mac %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + - If the output is `osxkeychain`, you're using the macOS keychain. To clear the credentials, enter the following command. + + ```shell{:copy} + git credential-osxkeychain erase https://github.com + ``` + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endmac %} + +{% windows %} + +1. Abre Git Bash. +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} + - If the output is `wincred`, you're using the Windows Credential Manager. To clear the credentials, enter the following command. + + ```shell{:copy} + cmdkey /delete:LegacyGeneric:target=git:https://github.com + ``` +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endwindows %} + +{% linux %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endlinux %} + +## Contributing to multiple accounts using SSH and `GIT_SSH_COMMAND` + +If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps. +1. Determine the repository's full name with owner, using a command such as `git config --get remote.origin.url`. +2. Choose the correct SSH key for authentication. +3. Modify `GIT_SSH_COMMAND` accordingly. For more information about `GIT_SSH_COMMAND`, see [Environment Variables](https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHCOMMANDcode) in the Git documentation. + +Por ejemplo, el siguiente comando configura la variable de ambiente `GIT_SSH_COMMAND` para que especifique un comando SSH que utiliza el archivo de llave privada en **_PATH/TO/KEY/FILE_** para autenticación para clonar el repositorio que se llama **_OWNER_**/**_REPOSITORY_** en {% data variables.product.product_location %}. + +
+GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
+
diff --git a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md similarity index 85% rename from translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md rename to translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md index e4c08c19a7..46520223f7 100644 --- a/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md +++ b/translations/es-ES/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -8,12 +8,13 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts versions: fpt: '*' ghec: '*' topics: - Accounts -shortTitle: Fusionar cuentas personales múltiples +shortTitle: Merge multiple accounts --- {% tip %} @@ -41,7 +42,7 @@ shortTitle: Fusionar cuentas personales múltiples 1. [Transfiere cualquier repositorio](/articles/how-to-transfer-a-repository) desde la cuenta que deseas eliminar a la cuenta que deseas mantener. También se transfieren propuestas, solicitudes de extracción y wikis. Verifica que los repositorios existan en la cuenta que deseas mantener. 2. [Actualiza las URL remotas](/github/getting-started-with-github/managing-remote-repositories) en cualquier clon local de los repositorios que se movieron. 3. [Elimina la cuenta](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account) que ya no deseas utilizar. -4. Para atribuir las confirmaciones pasadas a la cuenta nueva, agrega la dirección de correo electrónico que utilizaste para crear dichas confirmaciones a la cuenta que vas a conservar. Para obtener más información, consulta"[¿Por qué mis contribuciones no se muestran en mi perfil?](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)" +4. Para atribuir las confirmaciones pasadas a la cuenta nueva, agrega la dirección de correo electrónico que utilizaste para crear dichas confirmaciones a la cuenta que vas a conservar. Para obtener más información, consulta "[¿Por qué mis contribuciones no se están mostrando en mi perfil?](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile#your-local-git-commit-email-isnt-connected-to-your-account)" ## Leer más diff --git a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index 0e5e9f0b68..f3eecc8858 100644 --- a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -73,6 +73,7 @@ The following example OIDC token uses a subject (`sub`) that references a job en "repository": "octo-org/octo-repo", "repository_owner": "octo-org", "actor_id": "12", + "repo_visibility": private, "repository_id": "74", "repository_owner_id": "65", "run_id": "example-run-id", @@ -128,6 +129,7 @@ The token also includes custom claims provided by {% data variables.product.prod | `job_workflow_ref`| This is the ref path to the reusable workflow used by this job. For more information, see "["Using OpenID Connect with reusable workflows"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." | | `ref`| _(Reference)_ The git ref that triggered the workflow run. | | `ref_type`| The type of `ref`, for example: "branch". | +| `repo_visibility` | The visibility of the repository where the workflow is running. Accepts the following values: `internal`, `private`, or `public`. | | `repository`| The repository from where the workflow is running. | | `repository_id`| The ID of the repository from where the workflow is running. | | `repository_owner`| The name of the organization in which the `repository` is stored. | @@ -143,11 +145,11 @@ With OIDC, a {% data variables.product.prodname_actions %} workflow requires a t Audience and Subject claims are typically used in combination while setting conditions on the cloud role/resources to scope its access to the GitHub workflows. - **Audience**: By default, this value uses the URL of the organization or repository owner. This can be used to set a condition that only the workflows in the specific organization can access the cloud role. -- **Subject**: Has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. +- **Subject**: By default, has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. -There are also many additional claims supported in the OIDC token that can also be used for setting these conditions. +If you need more granular trust conditions, you can customize the issuer (`iss`) and subject (`sub`) claims that are included with the JWT. For more information, see "[Customizing the token claims](#customizing-the-token-claims)". -In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. +There are also many additional claims supported in the OIDC token that can be used for setting these conditions. In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. {% note %} @@ -238,6 +240,198 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% data reusables.actions.oidc-permissions-token %} +{% ifversion actions-oidc-hardening-config %} +## Customizing the token claims + +You can security harden your OIDC configuration by customizing the claims that are included with the JWT. These customisations allow you to define more granular trust conditions on your cloud roles when allowing your workflows to access resources hosted in the cloud: + +{% ifversion ghec %} - For an additional layer of security, you can append the `issuer` url with your enterprise slug. This lets you set conditions on the issuer (`iss`) claim, configuring it to only accept JWT tokens from a unique `issuer` URL that must include your enterprise slug.{% endif %} +- You can standardize your OIDC configuration by setting conditions on the subject (`sub`) claim that require JWT tokens to originate from a specific repository, reusable workflow, or other source. +- You can define granular OIDC policies by using additional OIDC token claims, such as `repository_id` and `repo_visibility`. For more information, see "[Understanding the OIDC token](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)". + +To customize these claim formats, organization and repository admins can use the REST API endpoints described in the following sections. + +{% ifversion ghec %} + +### Switching to a unique token URL + +By default, the JWT is issued by {% data variables.product.prodname_dotcom %}'s OIDC provider at `https://token.actions.githubusercontent.com`. This path is presented to your cloud provider using the `iss` value in the JWT. + +Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://api.github.com/enterprises//actions/oidc/customization/issuer`. Replace `` with the slug value of your enterprise. + +This configuration means that your enterprise will receive the OIDC token from a unique URL, and you can then configure your cloud provider to only accept tokens from that URL. This helps ensure that only the enterprise's repositories can access your cloud resources using OIDC. + +To activate this setting for your enterprise, an enterprise admin must use the `/enterprises/{enterprise}/actions/oidc/customization/issuer` endpoint and specify `"include_enterprise_slug": true` in the request body. For more information, see "[Set the {% data variables.product.prodname_actions %} OIDC custom issuer policy for an enterprise](/rest/actions/oidc#set-the-github-actions-oidc-custom-issuer-policy-for-an-enterprise)." + +After this setting is applied, the JWT will contain the updated `iss` value. In the following example, the `iss` key uses `octocat-inc` as its `enterpriseSlug` value: + +```json +{ + "jti": "6f4762ed-0758-4ccb-808d-ee3af5d723a8" + "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" + "aud": "http://octocat-inc.example/octocat-inc" + "enterprise": "octocat-inc" + "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Customizing the subject claims for an organization + +To configure organization-wide security, compliance, and standardization, you can customize the standard claims to suit your required access conditions. If your cloud provider supports conditions on subject claims, you can create a condition that checks whether the `sub` value matches the path of the reusable workflow, such as `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. The exact format will vary depending on your cloud provider's OIDC configuration. To configure the matching condition on {% data variables.product.prodname_dotcom %}, you can can use the REST API to require that the `sub` claim must always include a specific custom claim, such as `job_workflow_ref`. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)." + +Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." + +The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, organization admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. {% data reusables.actions.use-request-body-api %} + +To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before customizing the configuration using the REST API. Once the configuration is completed, each time a new job runs, the OIDC token generated during that job will follow the new customization template. If the matching condition doesn't exist in the cloud provider's OIDC configuration before the job runs, the generated token might not be accepted by the cloud provider, since the cloud conditions may not be synchronized. + +{% note %} + +**Note**: When the organization template is applied, it will not affect any existing repositories that already use OIDC. For existing repositories, as well as any new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. For more information, see "[Set the opt-in flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)." + +{% endnote %} + +#### Example: Allowing repository based on visibility and owner + +This example template allows the `sub` claim to have a new format, using `repository_owner` and `repository_visibility`: + +```json +{ + "include_claim_keys": [ + "repository_owner", + "repository_visibility" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repository_owner` and `repository_visibility`. For example: `"repository_owner: "monalisa":repository_visibility:private"`. The approach lets you restrict cloud role access to only private repositories within an organization or enterprise. + +#### Example: Allowing access to all repositories with a specific owner + +This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner" + ] +} + +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `repository_owner`. For example: `"repository_owner: "monalisa""` + +#### Example: Requiring a reusable workflow + +This example template allows the `sub` claim to have a new format that contains the value of the `job_workflow_ref` claim. This enables an enterprise to use [reusable workflows](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims) to enforce consistent deployments across its organizations and repositories. + +{% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "job_workflow_ref" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `job_workflow_ref`. For example: `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. + +#### Example: Requiring a reusable workflow and other claims + +The following example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} + +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. + +```json +{ + "include_claim_keys": [ + "repo", + "context", + "job_workflow_ref" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. + +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. +For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` + +#### Example: Granting access to a specific repository + +This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." + +{% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repo` claim that matches the required value. + +#### Example: Using system-generated GUIDs + +This example template enables predictable OIDC claims with system-generated GUIDs that do not change between renames of entities (such as renaming a repository). {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "repository_id" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_id` claim that matches the required value. + +or: + +```json +{ + "include_claim_keys": [ + "repository_owner_id" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_owner_id` claim that matches the required value. + +#### Resetting your customizations + +This example template resets the subject claims to the default format. {% data reusables.actions.use-request-body-api %} This template effectively opts out of any organization-level customization policy. + +```json +{ + "include_claim_keys": [ + "repo", + "context" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo` and `context`. + +#### Using the default subject claims + +For repositories that can receive a subject claim policy from their organization, the repository owner can later choose to opt-out and instead use the default `sub` claim format. To configure this, the repository admin must use the REST API endpoint at "[Set the opt-out flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository)" with the following request body: + +```json +{ + "use_default": true +} +``` + +{% endif %} + ## Updating your workflows for OIDC You can now update your YAML workflows to use OIDC access tokens instead of secrets. Popular cloud providers have published their official login actions that make it easy for you to get started with OIDC. For more information about updating your workflows, see the cloud-specific guides listed below in "[Enabling OpenID Connect for your cloud provider](#enabling-openid-connect-for-your-cloud-provider)." diff --git a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index decbb3fdfb..99523f9764 100644 --- a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -32,10 +32,52 @@ Esta guía te proporciona un resumen de cómo configurar HashiCorp Vault para qu Para utilizar OIDC con HashiCorp Vault, necesitarás agregar una configuración de confianza para el proveedor de OIDC de {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la [documentación](https://www.vaultproject.io/docs/auth/jwt) de HashiCorp Vault. -Configura la bóveda para que acepte Tokens Web JSON (JWT) para la autenticación: -- Para el `oidc_discovery_url`, utiliza {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Para `bound_issuer`, utiliza {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Asegúrate de que `bound_subject` se defina correctamente para tus requisitos de seguridad. Para obtener más información, consulta la sección ["Configurar la confianza de OIDC con la nube"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud) y [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action). +Para configurar tu servidor de Vault para que acepte tokens web de JSON (JWT) para autenticación: + +1. Habilita el método `auth` del JWT y utiliza `write` para aplicar la configuración a tu bóveda. Para los parámetros de `oidc_discovery_url` y `bound_issuer`, utiliza {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. Los parámetros permiten que el servidor de Vault verifique los tokens web de JSON (JWT) durante el proceso de autenticación. + + ```sh{:copy} + vault auth enable jwt + ``` + + ```sh{:copy} + vault write auth/jwt/config \ + bound_issuer="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" \ + oidc_discovery_url="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" + ``` +2. Configura una política que solo otorgue acceso a las rutas específicas que utilizarán tus flujos de trabajo para recuperar los secretos. Para obtener más políticas avanzadas, consulta la [documentación de las políticas](https://www.vaultproject.io/docs/concepts/policies) de HashiCorp Vault. + + ```sh{:copy} + vault policy write myproject-production - <`: Reemplaza esto con la URL de tu HashiCorp Vault. +- ``: Reemplaza esto con el designador de nombre que configuraste en HashiCorp Vault. Por ejemplo: `admin`. - ``: Reemplaza esto con el rol que configuraste en la relación de confianza de HashiCorp Vault. -- ``: Reemplaza esto con la audiencia que definiste en la relación de confianza de HashiCorp Vault. -- ``: Reemplaza esto con la ruta al secreto que estás recuperando desde HashiCorp Vault. Por ejemplo: `secret/data/ci npmToken`. +- ``: Reemplaza esto con la ruta al secreto que estás recuperando desde HashiCorp Vault. Por ejemplo: `secret/data/production/ci npmToken`. ```yaml{:copy} jobs: - retrieve-secret: - steps: - - name: Retrieve secret from Vault - uses: hashicorp/vault-action@v2.4.0 - with: - url: - role: - method: jwt - jwtGithubAudience: - secrets: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + method: jwt + url: + namespace: + role: + secrets: - - name: Use secret from Vault - run: | - # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. +``` + +{% note %} + +**Nota**: + +- Si no se puede acceder a tu servidor de Vault desde la red pública, considera utilizar un ejecutor auto-hospedado con otros [métodos de autenticación](https://www.vaultproject.io/docs/auth) de Vault disponibles. Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners)." +- `` debe configurarse para el despliegue de una empresa de Vault (incluyendo a HCP Vault). Para obtener más información, consulta la sección [designador de nombre de Vault](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Revocar el token de acceso + +Predeterminadamente, el servidor de Vault revocará automáticamente los tokens de acceso cuando su TTL expire para que no tengas que revocarlos manualmente. Sin embargo, si quieres revocarlos de inmediato después de que tu job se haya completado o haya fallado, puedes revocar manualmente el token emitido utilizando la [API de Vault](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Configura la opción `exportToken` en `true` (predeterminado: `false`). Esto exporta el token de acceso emitido de Vault como una variable de ambiente: `VAULT_TOKEN`. +2. Agrega un paso para llamar a la API de Vault [Revocar un token (auto)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self) para revocar el token de acceso. + +```yaml{:copy} +jobs: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + exportToken: true + method: jwt + url: + role: + secrets: + + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + + - name: Revoke token + # This step always runs at the end regardless of the previous steps result + if: always() + run: | + curl -X POST -sv -H "X-Vault-Token: {% raw %}${{ env.VAULT_TOKEN }}{% endraw %}" \ + /v1/auth/token/revoke-self ``` diff --git a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md index 1fb177d065..25ba9d8db0 100644 --- a/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md +++ b/translations/es-ES/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md @@ -23,11 +23,18 @@ topics: Rather than copying and pasting deployment jobs from one workflow to another, you can create a reusable workflow that performs the deployment steps. A reusable workflow can be used by another workflow if it meets one of the access requirements described in "[Reusing workflows](/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows)." -When combined with OpenID Connect (OIDC), reusable workflows let you enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. +You should be familiar with the concepts described in "[Reusing workflows](/actions/learn-github-actions/reusing-workflows" and "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)." -In order to create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. This allows your cloud provider to identify which repository the job originally came from. If your cloud provider only supports the standard claims (_audience_ and _subject_), it will not be able to determine that the job originated from the reusable workflow repository. Cloud providers that support `job_workflow_ref` include Google Cloud Platform and HashiCorp Vault. +## Defining the trust conditions -Before proceeding, you should be familiar with the concepts of [reusable workflows](/actions/learn-github-actions/reusing-workflows) and [OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect). +When combined with OpenID Connect (OIDC), reusable workflows let you enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. The available options will vary depending on your cloud provider: + +- **Using `job_workflow_ref`**: + - To create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. This allows your cloud provider to identify which repository the job originally came from. + - For clouds that only support the standard claims (audience (`aud`) and subject (`sub`)), you can use the API to customize the `sub` claim to include `job_workflow_ref`. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". Support for custom claims is currently available for Google Cloud Platform and HashiCorp Vault. + +- **Customizing the token claims**: + - You can configure more granular trust conditions by customizing the issuer (`iss`) and subject (`sub`) claims included with the JWT. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". ## How the token works with reusable workflows diff --git a/translations/es-ES/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md b/translations/es-ES/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md index 33df75d7fe..6e76788770 100644 --- a/translations/es-ES/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md +++ b/translations/es-ES/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md @@ -71,7 +71,7 @@ You can add self-hosted runners at the organization level, where they can be use {% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} {% data reusables.organizations.settings-sidebar-actions-runners %} -1. Click **New runner**. +{% ifversion actions-hosted-runners %}1. Click **New runner**, then click **New self-hosted runner**.{% else %}1. Click **New runner**.{% endif %} {% data reusables.actions.self-hosted-runner-configure %} {% elsif ghae or ghes < 3.4 %} {% data reusables.organizations.navigate-to-org %} diff --git a/translations/es-ES/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/translations/es-ES/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index d1601bbd6d..b536f5aca8 100644 --- a/translations/es-ES/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/translations/es-ES/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -18,15 +18,23 @@ shortTitle: Ejecutar la app del ejecutor al inicio {% capture service_first_step %}1. Detén la aplicación del ejecutor autoalojado si se está ejecutando actualmente.{% endcapture %} {% capture service_non_windows_intro_shell %}En la máquina del ejecutor, abre un shell en el directorio en el que instalaste la aplicación del ejecutor autoalojado. Usa los comandos que se indican a continuación para instalar y administrar el servicio de ejecutor autoalojado.{% endcapture %} -{% capture service_nonwindows_intro %} Debes agregar un ejecutor a {% data variables.product.product_name %} antes de que puedas configurar la aplicación del ejecutor auto-hospedado como servicio. Para obtener más información, consulta "[Agregar ejecutores autoalojados](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)."{% endcapture %} -{% capture service_win_name %}actions.runner.*{% endcapture %} +{% capture service_nonwindows_intro %} + +{% note %} + +**Nota:** Debes agregar un ejecutor a {% data variables.product.product_name %} antes de que puedas configurar la aplicación de ejecutor auto-hospedado como servicio. Para obtener más información, consulta "[Agregar ejecutores autoalojados](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)". + +{% endnote %} +{% endcapture %} + +{% capture service_win_name %}actions.runner.*{% endcapture %} {% linux %} {{ service_nonwindows_intro }} -Para los sistemas Linux que usan `systemd`, puedes usar el script `svc.sh` distribuido con la aplicación del ejecutor autoalojado para instalar y administrar el uso de la aplicación como un servicio. +Para los sistemas Linux que utilizan `systemd`, puedes utilizar el script de `svc.sh` que se creó después de agregar el ejecutor con éxito para instala y administrar utilizando la aplicación como servicio. {{ service_non_windows_intro_shell }} diff --git a/translations/es-ES/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md b/translations/es-ES/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md index f9996a90b0..0b19b5e58c 100644 --- a/translations/es-ES/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md +++ b/translations/es-ES/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md @@ -9,215 +9,65 @@ versions: ghae: '*' ghec: '*' type: tutorial -shortTitle: Administrar el acceso a los ejecutores +shortTitle: Using runner groups --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} -## Acerca de los grupos de ejecutores auto-hospedados +## About runner groups -{% ifversion fpt %} -{% note %} - -**Nota:** Todas las organizaciones tienen un solo grupo de ejecutores auto-hospedados predeterminado. Solo las cuentas empresariales y las organizaciones que pretenezcan a estas pueden crear y administrar grupos de ejecutores auto-hospedados adicionales. - -{% endnote %} - -Los grupos de ejecutores auto-hospedados se utilizan para controlar el acceso a los ejecutores auto-hospedados. Los administradores de las organizaciones pueden configurar políticas de acceso que controlen qué repositorios en una organización tienen acceso al grupo de ejecutores. -Si utilizas - -{% data variables.product.prodname_ghe_cloud %}, puedes crear grupos de ejecutores adicionales; los administradores empresariales pueden configurar políticas de acceso que controlen qué organizaciones dentro de una empresa pueden acceder al grupo de ejecutores y los administradores organizacionales pueden asignar políticas de acceso granulares de repositorio para el grupo de ejecutores empresarial. Para obtener más información, consulta la [documentación de {% data variables.product.prodname_ghe_cloud %}](/enterprise-cloud@latest/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups). -{% endif %} +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups).{% endif %} {% ifversion ghec or ghes or ghae %} -Los grupos de ejecutores auto-hospedados se utilizan para controlar el acceso a los ejecutores auto-hospedados a nivel de empresas y organizaciones. Los propietarios de empresas pueden configurar políticas de acceso que controlan qué organizaciones -{% ifversion restrict-groups-to-workflows %}y flujos de trabajo {% endif %}en una empresa tienen acceso al grupo de ejecutores. Los propietarios de las organizaciones pueden configurar las políticas de acceso que controlan qué repositorios{% ifversion restrict-groups-to-workflows %} y flujos de trabajo{% endif %} en una organización tienen aceso al grupo de ejecutores. - -Cuando un propietario de empresa otorga un acceso organizacional a un grupo de ejecutores, los propietarios de organizaciones pueden verlo listado en los ajustes del ejecutor auto-hospedado de la organización. Los propietarios organizacionales pueden entonces asignar políticas de acceso adicionales y granulares para los repositorios{% ifversion restrict-groups-to-workflows %} y flujos de trabajo{% endif %} al grupo ejecutor de la empresa. - -Cuando se crean nuevos ejecutores, se asignan automáticamente al grupo predeterminado. Los ejecutores solo pueden estar en un grupo a la vez. Puedes mover los ejecutores del grupo predeterminado a otro grupo. Para obtener más información, consulta la sección "[Mover un ejecutor auto-hospedado a un grupo](#moving-a-self-hosted-runner-to-a-group)". ## Crear un grupo de ejecutores auto-hospedados para una organización -Todas las organizaciones tienen un solo grupo predeterminado de ejecutores auto-hospedados. Las organizaciones dentro de una cuenta empresarial pueden crear grupos auto-hospedados adicionales. Los administradores de la organización pueden permitir el acceso de los repositorios individuales a un grupo de ejecutores. Para obtener más información sobre cómo crear un grupo de ejecutores auto-hospedados con la API de REST, consulta la sección "[Grupos de ejecutores auto-hospedados](/rest/reference/actions#self-hosted-runner-groups)". +{%- ifversion ghec or ghes %} -Los ejecutores auto-hospedados se asignan automáticamente al grupo predeterminado cuando se crean y solo pueden ser mimebros de un grupo a la vez. Puedes mover un ejecutor del grupo predeterminado a cualquier grupo que crees. +{% data reusables.actions.self-hosted-runner-security-admonition %} -Cuando creas un grupo, debes elegir la política que define qué reositorios{% ifversion restrict-groups-to-workflows %} y flujos de trabajo{% endif %} tienen acceso al grupo ejecutor. +{%- endif %} -{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} -{% data reusables.organizations.navigate-to-org %} -{% data reusables.organizations.org_settings %} -{% data reusables.organizations.settings-sidebar-actions-runner-groups %} -1. En la sección de "Grupos de ejecutores", haz clic en **Grupo de ejecutores nuevo**. -1. Ingresa un nombre para tu grupo ejecutor. - {% data reusables.actions.runner-group-assign-policy-repo %} - - {% warning %} - - **Advertencia**: {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} -{% data reusables.actions.runner-group-assign-policy-workflow %}{%- ifversion restrict-groups-to-workflows %}Los grupos ejecutores que pertenecen a las organizaciones no pueden acceder a los flujos de trabajo de una organización diferente en la empresa. En vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa.{% endif %} -{% data reusables.actions.self-hosted-runner-create-group %} -{% elsif ghae or ghes < 3.4 %} -{% data reusables.organizations.navigate-to-org %} -{% data reusables.organizations.org_settings %} -{% data reusables.organizations.settings-sidebar-actions-runner-groups %} -1. Debajo de {% ifversion ghes or ghae %}"Ejecutores"{% endif %}, haz clic en **Agregar nuevo** y luego en **Grupo nuevo**. - - ![Agregar un grupo de ejecutores](/assets/images/help/settings/actions-org-add-runner-group.png) -1. Ingresa un nombre para tu grupo de ejecutores y asigna una política para el acceso al repositorio. - - Puedes configurar un grupo de ejecutores para que sea accesible a una lista específica de repositorios o a todos ellos en la organización.{% ifversion ghec or ghes %} Predeterminadamente, solo los repositorios privados pueden acceder a los ejecutores en un grupo ejecutor. Pero esto se puede anular. Esta configuración no puede anularse si se configura un grupo ejecutor de la organización que haya compartido una empresa.{% endif %} - - {%- ifversion ghes %} - {% warning %} - - **Advertencia**: - - {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} - {%- endif %} - - ![Agregar opciones de un grupo de ejecutores](/assets/images/help/settings/actions-org-add-runner-group-options.png) -1. Da clic en **Guardar grupo** para crear el grupo y aplicar la política. -{% endif %} +{% data reusables.actions.creating-a-runner-group-for-an-organization %} ## Crear un grupo de ejecutores auto-hospedados para una empresa -Las empresas pueden agregar sus ejecutores auto-hospedados a grupos para su administración de accesos. Las empresas pueden crear grupos de ejecutores auto-hospedados que son accesibles para organizaciones específicas en la cuenta empresarial{% ifversion restrict-groups-to-workflows %} o para flujos de trabajo específicos{% endif %}. Los propietarios de organizaciones pueden entonces asignar políticas de acceso adicionales y granulares para los repositorios{% ifversion restrict-groups-to-workflows %} o flujos de trabajo{% endif %} a los grupos de ejecutores empresariales. Para obtener más información sobre cómo crear un grupo de ejecutores auto-hospedados con la API de REST, consulta las terminales empresariales en la [API de REST de {% data variables.product.prodname_actions %}](/rest/reference/actions#self-hosted-runner-groups). + {%- ifversion ghec or ghes %} -Los ejecutores auto-hospedados se asignan automáticamente al grupo predeterminado cuando se crean y solo pueden ser mimebros de un grupo a la vez. Puedes asignar el ejecutor a un grupo específico durante el proceso de registro o puedes moverlo después desde el grupo predeterminado a un grupo personalizado. +{% data reusables.actions.self-hosted-runner-security-admonition %} -Cuando creas un grupo, debes elegir la política que defina qué organizaciones tienen acceso al grupo de ejecutores. +{%- endif %} -{% data reusables.actions.self-hosted-runner-groups-add-to-enterprise-first-steps %} -1. Para elegir una política para el acceso organizacional, selecciona el menú desplegable **Acceso organizacional** y haz clic en una política. Puedes configurar un grupo de ejecutores para que sea accesible a una lista de organizaciones específica o a todas las organizaciones en la empresa.{% ifversion ghes %} Predeterminadamente, solo los repositorios privados pueden acceder a los ejecutores en un grupo, pero esto se puede anular.{% endif %} - - {%- ifversion ghec or ghes %} - {% warning %} - - **Advertencia**: - - {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} - {%- endif %} - {%- ifversion ghec or ghes %} - - ![Agregar opciones de un grupo de ejecutores](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png) - {%- elsif ghae %} - - ![Agregar opciones de un grupo de ejecutores](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options-ae.png) - {%- endif %} -{% data reusables.actions.runner-group-assign-policy-workflow %} -1. Da clic en **Guardar grupo** para crear el grupo y aplicar la política. +{% data reusables.actions.creating-a-runner-group-for-an-enterprise %} {% endif %} ## Cambiar la política de acceso de un grupo de ejecutores auto-hospedados -En el caso de los grupos de ejecutores en una empresa, puedes cambiar qué organizaciones dentro de ella pueden acceder a un grupo de ejecutores{% ifversion restrict-groups-to-workflows %} o restringir qué flujos de trabajo puede ejecutar un grupo de ejecutores{% endif %}. En el caso de los grupos de ejecutores en una organización, puedes cambiar qué repositorios en ella pueden acceder a un grupo de ejecutores{% ifversion restrict-groups-to-workflows %} o restringir qué flujos de trabajo puede ejecutar un grupo de ejecutores{% endif %}. +{%- ifversion fpt or ghec or ghes %} -### Cambiar qué organizaciones o repositorios pueden acceder a un grupo de ejecutores +{% data reusables.actions.self-hosted-runner-security-admonition %} -{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} -1. En el caso de los grupos de ejecutores en una empresa, debajo de **Acceso organizacional**, modifica qué organizaciones pueden acceder al grupo de ejecutores. En el caso de los grupos de ejecutores en una organización, debajo de **Acceso al repositorio**, modifica aquellos a los que puede acceder este grupo. +{%- endif %} - {%- ifversion fpt or ghec or ghes %} - {% warning %} - - **Advertencia**: - - {% indented_data_reference reusables.actions.self-hosted-runner-security spaces=3 %} - - Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." - - {% endwarning %} - {%- endif %} -{% elsif ghae or ghes < 3.4 %} -{% data reusables.actions.self-hosted-runner-configure-runner-group-access %} -{% endif %} - -{% ifversion restrict-groups-to-workflows %} -### Cambiar los flujos de trabajo a los cuales puede acceder un grupo de ejecutores -Puedes configurar un grupo de ejecutores auto-hospedado para que ejecute ya sea flujos selectos o todos ellos. Por ejemplo, podrías utilizar este ajuste para proteger secretos almacenados en los ejecutores auto-hospedados o estandarizar los flujos de trabajo de despliegue restringiendo un grupo de ellos para que ejecute solo un flujo de trabajo reutilizable específico. Este ajuste no se puede anular si estás configurando un grupo de ejecutores de una organización que haya compartido una empresa. -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} -1. Debajo de **Acceso al flujo de trabajo**, selecciona el menú desplegable y haz clic en **Flujos de trabajo selectos**. -1. Da clic en {% octicon "gear" aria-label="the gear icon" %}. -1. Ingresa una lista separada por comas de los flujos de trabajo que pueden acceder al grupo de ejecutores. Utiliza la ruta completa, incluyendo el nombre y propietario del repositorio. Fija el flujo de trabajo a una rama, etiqueta o SHA completo. Por ejemplo: `octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main`. - - Solo los jobs que se definan directamente dentro de los flujos de trabajo seleccionados tendrán acceso al grupo de ejecutores. - - Los grupos de ejecutores que pertenecen a la organización no pueden acceder a los flujos de trabajo de otra organización de la empresa; en vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa. - -1. Haz clic en **Save ** (guardar). - -{% endif %} +{% data reusables.actions.changing-the-access-policy-of-a-runner-group %} ## Cambiar el nombre de un grupo de ejectuores -{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} -1. Cambia el nombre del grupo de ejecutores. - -{% elsif ghae or ghes < 3.4 %} -{% data reusables.actions.self-hosted-runner-configure-runner-group %} -1. Cambia el nombre del grupo de ejecutores. -{% endif %} +{% data reusables.actions.changing-the-name-of-a-runner-group %} {% ifversion ghec or ghes or ghae %} ## Agregar ejecutores auto-hospedados a un grupo automáticamente -Puedes utilizar el script de configuración para agregar automáticamente un ejecutor auto-hospedado nuevo a un grupo. Por ejemplo, este comando registra un ejecutor auto-hospedado nuevo y utiliza el parámetro `--runnergroup` para agregarlo a un grupo llamado `rg-runnergroup`. - -```sh -./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup -``` - -El comando fallará si el grupo de ejecutores no existe: - -``` -Could not find any self-hosted runner group named "rg-runnergroup". -``` +{% data reusables.actions.automatically-adding-a-runner-to-a-group %} ## Mover un ejecutor auto-hospedado a un grupo -Si no especificas un grupo de ejecutores durante el proceso de registro, tus ejecutores auto-hospedados nuevos se asignarán automáticamente al grupo predeterminado y después se moverán a otro grupo. - -{% data reusables.actions.self-hosted-runner-navigate-to-org-enterprise %} -{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} -1. En la lista de "Ejecutores", haz clic en aquél que quieras configurar. -2. Selecciona el menú desplegable de **Grupo de ejecutores**. -3. En "Mover el ejecutor al grupo", elige un grupo destino para el ejecutor. -{% elsif ghae or ghes < 3.4 %} -1. En la sección {% ifversion ghes or ghae %}"Grupos de ejecutores"{% endif %} de la página de ajustes, ubica el grupo actual del ejecutor que quieras mover y expande la lista de miembros del grupo. ![Ver los miembros de un grupo de ejecutores](/assets/images/help/settings/actions-org-runner-group-members.png) -2. Selecciona la casilla junto al ejecutor auto-hospedado y da clic en **Mover a grupo** para ver los destinos disponibles. ![Mover a un miembro de un grupo de ejecutores](/assets/images/help/settings/actions-org-runner-group-member-move.png) -3. Para mover el ejecutor, da clic en el grupo de destino. ![Mover a un miembro de un grupo de ejecutores](/assets/images/help/settings/actions-org-runner-group-member-move-destination.png) -{% endif %} +{% data reusables.actions.moving-a-runner-to-a-group %} ## Eliminar un grupo de ejecutores auto-hospedados -Los ejecutores auto-hospedados se devuelven automáticamente al grupo predeterminado cuando su grupo se elimina. - -{% ifversion ghes or ghae or ghec %} -{% data reusables.actions.self-hosted-runner-groups-navigate-to-repo-org-enterprise %} -1. En la lista de grupos, a la derecha del grupo que quieras borrar, haz clic en {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. -2. Para eliminar el grupo, da clic en **Eliminar grupo**. -3. Revisa el mensaje de confirmación y da clic en **Eliminar este grupo de ejecutores**. +{% data reusables.actions.removing-a-runner-group %} {% endif %} -{% endif %} diff --git a/translations/es-ES/content/actions/learn-github-actions/contexts.md b/translations/es-ES/content/actions/learn-github-actions/contexts.md index 7a93d901be..a8abf6ce7e 100644 --- a/translations/es-ES/content/actions/learn-github-actions/contexts.md +++ b/translations/es-ES/content/actions/learn-github-actions/contexts.md @@ -38,6 +38,8 @@ You can access contexts using the expression syntax. For more information, see " | `github` | `object` | Information about the workflow run. For more information, see [`github` context](#github-context). | | `env` | `object` | Contains environment variables set in a workflow, job, or step. For more information, see [`env` context](#env-context). | | `job` | `object` | Information about the currently running job. For more information, see [`job` context](#job-context). | +{%- ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} +| `jobs` | `object` | For reusable workflows only, contains outputs of jobs from the reusable workflow. For more information, see [`jobs` context](#jobs-context). |{% endif %} | `steps` | `object` | Information about the steps that have been run in the current job. For more information, see [`steps` context](#steps-context). | | `runner` | `object` | Information about the runner that is running the current job. For more information, see [`runner` context](#runner-context). | | `secrets` | `object` | Contains the names and values of secrets that are available to a workflow run. For more information, see [`secrets` context](#secrets-context). | @@ -404,6 +406,72 @@ jobs: - run: ./run-tests ``` +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} + +## `jobs` context + +The `jobs` context is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)." + +| Property name | Type | Description | +|---------------|------|-------------| +| `jobs` | `object` | This is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. This object contains all the properties listed below. +| `jobs..result` | `string` | The result of a job in the reusable workflow. Possible values are `success`, `failure`, `cancelled`, or `skipped`. | +| `jobs..outputs` | `object` | The set of outputs of a job in a reusable workflow. | +| `jobs..outputs.` | `string` | The value of a specific output for a job in a reusable workflow. | + +### Example contents of the `jobs` context + +This example `jobs` context contains the result and outputs of a job from a reusable workflow run. + +```json +{ + example_job: { + result: success, + outputs: { + output1: hello, + output2: world + } + } +} +``` + +### Example usage of the `jobs` context + +This example reusable workflow uses the `jobs` context to set outputs for the reusable workflow. Note how the outputs flow up from the steps, to the job, then to the `workflow_call` trigger. For more information, see "[Reusing workflows](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)." + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + firstword: + description: "The first output string" + value: ${{ jobs.example_job.outputs.output1 }} + secondword: + description: "The second output string" + value: ${{ jobs.example_job.outputs.output2 }} + +jobs: + example_job: + name: Generate output + runs-on: ubuntu-latest + # Map the job outputs to step outputs + outputs: + output1: ${{ steps.step1.outputs.firstword }} + output2: ${{ steps.step2.outputs.secondword }} + steps: + - id: step1 + run: echo "::set-output name=firstword::hello" + - id: step2 + run: echo "::set-output name=secondword::world" +``` +{% endraw %} + +{% endif %} + ## `steps` context The `steps` context contains information about the steps in the current job that have an [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) specified and have already run. diff --git a/translations/es-ES/content/actions/learn-github-actions/expressions.md b/translations/es-ES/content/actions/learn-github-actions/expressions.md index df7fc1511c..f0522a65bc 100644 --- a/translations/es-ES/content/actions/learn-github-actions/expressions.md +++ b/translations/es-ES/content/actions/learn-github-actions/expressions.md @@ -129,17 +129,17 @@ Arroja `true` si `search` contiene `item`. Si `search` es una matriz, esta funci `contains('Hello world', 'llo')` arroja `true`. -#### Example using an object filter +#### Ejemplo utilizando un filtro de objeto `contains(github.event.issue.labels.*.name, 'bug')` returns `true` if the issue related to the event has a label "bug". -For more information, see "[Object filters](#object-filters)." +Para obtener más información, consulta la sección "[Filtros de objeto](#object-filters)". -#### Example matching an array of strings +#### Ejemplo empatando un arreglo de secuencias -Instead of writing `github.event_name == "push" || github.event_name == "pull_request"`, you can use `contains()` with `fromJson()` to check if an array of strings contains an `item`. +En vez de escribir `github.event_name == "push" || github.event_name == "pull_request"`, puedes utilizar `contains()` con `fromJson()` para verificar si un arreglo de secuencias contiene un `item`. -For example, `contains(fromJson('["push", "pull_request"]'), github.event_name)` returns `true` if `github.event_name` is "push" or "pull_request". +Por ejemplo, `contains(fromJson('["push", "pull_request"]'), github.event_name)` devuelve `true` si `github.event_name` es "push" o "pull_request". ### startsWith diff --git a/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md b/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md index e269783393..cbadb6cb60 100644 --- a/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md +++ b/translations/es-ES/content/actions/learn-github-actions/understanding-github-actions.md @@ -2,6 +2,7 @@ title: Entender las GitHub Actions shortTitle: Entendiendo las GitHub Actions intro: 'Aprende lo básico de las {% data variables.product.prodname_actions %}, incluyendo los conceptos nucleares y la terminología esencial.' +miniTocMaxHeadingLevel: 3 redirect_from: - /github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions - /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions @@ -82,7 +83,7 @@ Para obtener más información, consulta la sección "[Crear acciones](/actions/ ### Ejecutores -{% data reusables.actions.about-runners %} Cada ejecutor puede ejecutar un job individual a la vez. {% ifversion ghes or ghae %} Debes hospedar tus propios ejecutores para {% data variables.product.product_name %}. {% elsif fpt or ghec %}{% data variables.product.company_short %} proporciona ejecutores de Ubuntu Linux, Microsoft Windows y macOS para ejecutar tus flujos de trabajo; cada flujo de trabajo se ejecuta en una máquina virtual nueva y recién aprovisionada. Si necesitas un sistema operativo diferente o si requieres una configuración de hardware específica, puedes hospedar tus propios ejecutores.{% endif %} Para obtener más información{% ifversion fpt or ghec %} sobre los ejecutores auto-hospedados{% endif %}, consulta la sección "[Hospedar tus propios ejecutores](/actions/hosting-your-own-runners)". +{% data reusables.actions.about-runners %} Cada ejecutor puede ejecutar un job individual a la vez. {% ifversion ghes or ghae %} Debes hospedar tus propios ejecutores para {% data variables.product.product_name %}. {% elsif fpt or ghec %}{% data variables.product.company_short %} proporciona ejecutores de Ubuntu Linux, Microsoft Windows y macOS para ejecutar tus flujos de trabajo; cada flujo de trabajo se ejecuta en una máquina virtual nueva y recién aprovisionada. {% ifversion actions-hosted-runners %} {% data variables.product.prodname_dotcom %} also offers {% data variables.actions.hosted_runner %}s, which are available in larger configurations. For more information, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." {% endif %}If you need a different operating system or require a specific hardware configuration, you can host your own runners.{% endif %} For more information{% ifversion fpt or ghec %} about self-hosted runners{% endif %}, see "[Hosting your own runners](/actions/hosting-your-own-runners)." {% data reusables.actions.workflow-basic-example-and-explanation %} @@ -93,7 +94,7 @@ Para obtener más información, consulta la sección "[Crear acciones](/actions/ - Para seguir aprendiendo sobre las {% data variables.product.prodname_actions %}, consulta la sección "[Encontrar y personalizar las acciones](/actions/learn-github-actions/finding-and-customizing-actions)". {% ifversion fpt or ghec or ghes %} -- Para entender cómo funciona la facturación de las {% data variables.product.prodname_actions %}, consulta la sección "[Acerca de la facturación para las {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)". +- Para entender cómo funciona la facturación de las {% data variables.product.prodname_actions %}, consulta la sección "[Acerca de la facturación para las {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)." {% endif %} ## Contactar con soporte técnico diff --git a/translations/es-ES/content/actions/publishing-packages/publishing-nodejs-packages.md b/translations/es-ES/content/actions/publishing-packages/publishing-nodejs-packages.md index bb16664970..2c2330de27 100644 --- a/translations/es-ES/content/actions/publishing-packages/publishing-nodejs-packages.md +++ b/translations/es-ES/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -98,9 +98,9 @@ Cada vez que creas un lanzamiento nuevo, puedes desencadenar un flujo de trabajo ### Configurar el repositorio de destino -Si no proporcionas la clave del `repository` en tu archivo *package.json*, entonces el {% data variables.product.prodname_registry %} publicará un paquete en el repositorio de {% data variables.product.prodname_dotcom %} que especifiques en el campo `name` del archivo *package.json*. Por ejemplo, un paquete denominado `@my-org/test` se publicará en el repositorio `my-org/test` de {% data variables.product.prodname_dotcom %}. +Linking your package to {% data variables.product.prodname_registry %} using the `repository` key is optional. If you choose not to provide the `repository` key in your *package.json* file, then {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the `name` field of the *package.json* file. Por ejemplo, un paquete denominado `@my-org/test` se publicará en el repositorio `my-org/test` de {% data variables.product.prodname_dotcom %}. If the `url` specified in the `repository` key is invalid, your package may still be published however it won't be linked to the repository source as intended. -Sin embargo, si no proporcionas la clave del `repository`, entonces el repositorio en esa clave se utilizará como el registro de npm de destino para el {% data variables.product.prodname_registry %}. Por ejemplo, el publicar el siguiente *package.json* dará como resultado un paquete denominado `my-amazing-package` que se publicará en el repositorio `octocat/my-other-repo` de {% data variables.product.prodname_dotcom %}. +If you do provide the `repository` key in your *package.json* file, then the repository in that key is used as the destination npm registry for {% data variables.product.prodname_registry %}. Por ejemplo, el publicar el siguiente *package.json* dará como resultado un paquete denominado `my-amazing-package` que se publicará en el repositorio `octocat/my-other-repo` de {% data variables.product.prodname_dotcom %}. Once published, only the repository source is updated, and the package doesn't inherit any permissions from the destination repository. ```json { diff --git a/translations/es-ES/content/actions/using-github-hosted-runners/about-github-hosted-runners.md b/translations/es-ES/content/actions/using-github-hosted-runners/about-github-hosted-runners.md index dcfa57bf9b..62fe7d964c 100644 --- a/translations/es-ES/content/actions/using-github-hosted-runners/about-github-hosted-runners.md +++ b/translations/es-ES/content/actions/using-github-hosted-runners/about-github-hosted-runners.md @@ -86,6 +86,15 @@ While the job runs, the logs and output can be viewed in the {% data variables.p ## Supported runners and hardware resources +{% ifversion actions-hosted-runners %} + +{% note %} + +**Note**: {% data variables.product.prodname_dotcom %} also offers {% data variables.actions.hosted_runner %}s, which are available in larger configurations. For more information, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." + +{% endnote %} +{% endif %} + Hardware specification for Windows and Linux virtual machines: - 2-core CPU (x86_64) - 7 GB of RAM 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 new file mode 100644 index 0000000000..187cf4b81a --- /dev/null +++ b/translations/es-ES/content/actions/using-github-hosted-runners/controlling-access-to-larger-runners.md @@ -0,0 +1,50 @@ +--- +title: Controlling access to larger runners +intro: 'Puedes utilizar políticas para limitar el acceso a los {% data variables.actions.hosted_runner %} que se hayan agregado a una organización o empresa.' +product: '{% data reusables.gated-features.hosted-runners %}' +versions: + feature: actions-hosted-runners +type: tutorial +shortTitle: 'Controlling access to {% data variables.actions.hosted_runner %}s' +--- + +{% data reusables.actions.enterprise-beta %} +{% data reusables.actions.enterprise-github-hosted-runners %} + +## About runner groups + +{% data reusables.actions.about-runner-groups %} {% ifversion fpt %}For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/actions/using-github-hosted-runners/controlling-access-to-larger-runners).{% endif %} + +{% ifversion ghec or ghes or ghae %} + +## Creating a runner group for an organization + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.creating-a-runner-group-for-an-organization %} + +## Creating a runner group for an enterprise + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.creating-a-runner-group-for-an-enterprise %} + +{% endif %} + +## Changing the access policy of a runner group + +{% data reusables.actions.hosted-runner-security-admonition %} +{% data reusables.actions.changing-the-access-policy-of-a-runner-group %} + +## Cambiar el nombre de un grupo de ejectuores + +{% data reusables.actions.changing-the-name-of-a-runner-group %} + +{% ifversion ghec or ghes or ghae %} +## Moving a runner to a group + +{% data reusables.actions.moving-a-runner-to-a-group %} + +## Removing a runner group + +{% data reusables.actions.removing-a-runner-group %} + +{% endif %} diff --git a/translations/es-ES/content/actions/using-github-hosted-runners/index.md b/translations/es-ES/content/actions/using-github-hosted-runners/index.md index 07f6d827cf..d8b2fd9f02 100644 --- a/translations/es-ES/content/actions/using-github-hosted-runners/index.md +++ b/translations/es-ES/content/actions/using-github-hosted-runners/index.md @@ -7,6 +7,8 @@ versions: ghes: '*' children: - /about-github-hosted-runners + - /using-larger-runners + - /controlling-access-to-larger-runners - /monitoring-your-current-jobs - /customizing-github-hosted-runners - /connecting-to-a-private-network diff --git a/translations/es-ES/content/actions/using-github-hosted-runners/using-larger-runners.md b/translations/es-ES/content/actions/using-github-hosted-runners/using-larger-runners.md new file mode 100644 index 0000000000..22ea007919 --- /dev/null +++ b/translations/es-ES/content/actions/using-github-hosted-runners/using-larger-runners.md @@ -0,0 +1,135 @@ +--- +title: Using larger runners +intro: '{% data variables.product.prodname_dotcom %} offers larger runners with more RAM and CPU.' +miniTocMaxHeadingLevel: 3 +product: '{% data reusables.gated-features.hosted-runners %}' +versions: + feature: 'actions-hosted-runners' +shortTitle: Using {% data variables.actions.hosted_runner %}s +--- + +## Overview of {% data variables.actions.hosted_runner %}s + +In addition to the [standard {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources), {% data variables.product.prodname_dotcom %} also offers customers on {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans a range of {% data variables.actions.hosted_runner %}s with more RAM and CPU. These runners are hosted by {% data variables.product.prodname_dotcom %} and have the runner application and other tools preinstalled. + +When you add a {% data variables.actions.hosted_runner %} to an organization, you are defining a type of machine from a selection of available hardware specifications and operating system images. {% data variables.product.prodname_dotcom %} will then create multiple instances of this runner that scale up and down to match the job demands of your organization, based on the autoscaling limits you define. + +## Architectural overview of {% data variables.actions.hosted_runner %}s + +The {% data variables.actions.hosted_runner %}s are managed at the organization level, where they are arranged into groups that can contain multiple instances of the runner. They can also be created at the enterprise level and shared with organizations in the hierarchy. Once you've created a group, you can then add a runner to the group and update your workflows to target the label assigned to the {% data variables.actions.hosted_runner %}. You can also control which repositories are permitted to send jobs to the group for processing. For more information about groups, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +In the following diagram, a class of hosted runner named `ubuntu-20.04-16core` has been defined with customized hardware and operating system configuration. + +![Diagram explaining {% data variables.actions.hosted_runner %}](/assets/images/hosted-runner.png) + +1. Instances of this runner are automatically created and added to a group called `ubuntu-20.04-16core`. +2. The runners have been assigned the label `ubuntu-20.04-16core`. +3. Workflow jobs use the `ubuntu-20.04-16core` label in their `runs-on` key to indicate the type of runner they need to execute the job. +4. {% data variables.product.prodname_actions %} checks the runner group to see if your repository is authorized to send jobs to the runner. +5. The job runs on the next available instance of the `ubuntu-20.04-16core` runner. + +## Autoscaling {% data variables.actions.hosted_runner %}s + +Your {% data variables.actions.hosted_runner %}s can be configured to automatically scale to suit your needs. When jobs are submitted for processing, more machines can be automatically provisioned to run the jobs, until reaching a pre-defined maximum limit. Each machine only handles one job at a time, so these settings effectively determine the number of jobs that can be run concurrently. + +During the runner deployment process, you can configure the _Max_ option, which allows you to control your costs by setting the maximum parallel number of machines that are created in this set. A higher value here can help avoid workflows being blocked due to parallelism. + +## Networking for {% data variables.actions.hosted_runner %}s + +By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s. + +{% note %} + +**Note**: If runners are unused for more than 30 days, their IP address ranges are automatically removed and cannot be recovered. + +{% endnote %} + +## Planning for {% data variables.actions.hosted_runner %}s + +### Create a runner group + +Runner groups are used to collect sets of virtual machines and create a security boundary around them. You can then decide which organizations or repositories are permitted to run jobs on those sets of machines. During the {% data variables.actions.hosted_runner %} deployment process, the runner can be added to an existing group, or otherwise it will join a default group. You can create a group by following the steps in "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +### Understanding billing + +Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners, {% data variables.actions.hosted_runner %}s are billed differently. For more information, see "[Per-minute rates](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)". + +## Adding a {% data variables.actions.hosted_runner %} to an enterprise + +You can add {% data variables.actions.hosted_runner %}s to an enterprise, where they can be assigned to multiple organizations. The organization admins can then control which repositories can use the runners. To add a {% data variables.actions.hosted_runner %} to an enterprise, you must be an enterprise owner. + +{% data reusables.actions.add-hosted-runner-overview %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +{% data reusables.enterprise-accounts.actions-tab %} +{% data reusables.enterprise-accounts.actions-runners-tab %} +{% data reusables.actions.add-hosted-runner %} +1. To allow organizations to access your {% data variables.actions.hosted_runner %}s, you specify the list of organizations that can use it. For more information, see "[Managing access to your runners](#managing-access-to-your-runners)." + +## Adding a {% data variables.actions.hosted_runner %} to an organization + +You can add a {% data variables.actions.hosted_runner %} to an organization, where the organization admins can control which repositories can use it. + +{% data reusables.actions.add-hosted-runner-overview %} + +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runners %} +{% data reusables.actions.add-hosted-runner %} +1. To allow repositories to access your {% data variables.actions.hosted_runner %}s, add them to the list of repositories that can use it. For more information, see "[Managing access to your runners](#managing-access-to-your-runners)." + +## Running jobs on your runner + +Once your runner type has been been defined, you can update your workflows to send jobs to the runner instances for processing. In this example, a runner group is populated with Ubuntu 16-core runners, which have been assigned the label `ubuntu-20.04-16core`. If you have a runner matching this label, the `check-bats-version` job then uses the `runs-on` key to target that runner whenever the job is run: + +```yaml +name: learn-github-actions +on: [push] +jobs: + check-bats-version: + runs-on: ubuntu-20.04-16core + steps: + - uses: {% data reusables.actions.action-checkout %} + - uses:{% data reusables.actions.action-setup-node %} + with: + node-version: '14' + - run: npm install -g bats + - run: bats -v +``` + +## Managing access to your runners + +{% note %} + +**Note**: Before your workflows can send jobs to {% data variables.actions.hosted_runner %}s, you must first configure permissions for the runner group. See the following sections for more information. + +{% endnote %} + +Runner groups are used to control which repositories can run jobs on your {% data variables.actions.hosted_runner %}s. You must grant access to the group from each level of the management hierarchy, depending on where you've defined the {% data variables.actions.hosted_runner %}: + +- **Runners at the enterprise level**: Configure the runner group to grant access to all the required organizations. In addition, for each organization, you must configure the group to specify which repositories are allowed access. +- **Runners at the organization level**: Configure the runner group by specifying which repositories are allowed access. + +For example, the following diagram has a runner group named `grp-ubuntu-20.04-16core` at the enterprise level. Before the repository named `octo-repo` can use the runners in the group, you must first configure the group at the enterprise level to allow access from the `octo-org` organization; you must then configure the group at the organization level to allow access from `octo-repo`: + +![Diagram explaining {% data variables.actions.hosted_runner %} groups](/assets/images/hosted-runner-mgmt.png) + +### Allowing repositories to access a runner group + +This procedure demonstrates how to configure group permissions at the enterprise and organization levels: + +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} + - For runner groups in an enterprise: under **Organization access**, modify which organizations can access the runner group. + - For runner groups in an organization: under **Repository access**, modify which repositories can access the runner group. + +{% warning %} + +**Warning**: + +{% data reusables.actions.hosted-runner-security %} + +For more information, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." + +{% endwarning %} diff --git a/translations/es-ES/content/actions/using-workflows/about-workflows.md b/translations/es-ES/content/actions/using-workflows/about-workflows.md index 4706a7fb4a..d86a02068f 100644 --- a/translations/es-ES/content/actions/using-workflows/about-workflows.md +++ b/translations/es-ES/content/actions/using-workflows/about-workflows.md @@ -1,7 +1,7 @@ --- title: Acerca de los flujos de trabajo shortTitle: Acerca de los flujos de trabajo -intro: 'Get a high level overview {% data variables.product.prodname_actions %} workflows, including triggers, syntax, and advanced features.' +intro: 'Obtén flujos de trabajo de {% data variables.product.prodname_actions %} de resumen de alto nivel, incluyendo activadores, sintaxis y características avanzadas.' versions: fpt: '*' ghes: '*' @@ -20,15 +20,15 @@ miniTocMaxHeadingLevel: 3 {% data reusables.actions.about-workflows-long %} -## Workflow basics +## Puntos básicos de los flujos de trabajo -A workflow must contain the following basic components: +Un flujo de trabajo debe contener los siguientes componentes básicos: -1. One or more _events_ that will trigger the workflow. -1. One or more _jobs_, each of which will execute on a _runner_ machine and run a series of one or more _steps_. -1. Each step can either run a script that you define or run an action, which is a reusable extension that can simplify your workflow. +1. Uno o más _eventos_ que activarán el flujo de trabajo. +1. Uno o más _jobs_, cada uno de los cuales se ejecutará en una máquina _ejecutora_ y ejecutará una serie de uno o más _pasos_. +1. Cada paso puede ya sea ejecutar un script que defines o ejecutar una acción, la cual es una extensión reutilizable que puede simplificar tu flujo de trabajo. -For more information on these basic components, see "[Understanding GitHub Actions](/actions/learn-github-actions/understanding-github-actions#the-components-of-github-actions)." +Para obtener más información sobre estos componentes básicos, consulta la sección "[Entender las GitHub Actions](/actions/learn-github-actions/understanding-github-actions#the-components-of-github-actions)". ![Resumen del flujo de trabajo](/assets/images/help/images/overview-actions-simple.png) @@ -36,32 +36,32 @@ For more information on these basic components, see "[Understanding GitHub Actio {% data reusables.actions.about-triggers %} -For more information, see "[Triggering a workflow](/actions/using-workflows/triggering-a-workflow)", and for a full list of events, see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows)." +Para obtener más información, consulta la sección "[Activar un flujo de trabajo](/actions/using-workflows/triggering-a-workflow)" y para encontrar una lista completa de eventos, consulta la sección "[Eventos que activan flujos de trabajo](/actions/using-workflows/events-that-trigger-workflows)". ## Sintaxis de flujos de trabajo -Workflow are defined using YAML. For the full reference of the YAML syntax for authoring workflows, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#about-yaml-syntax-for-workflows)." +Los flujos de trabajo se definen utilizando YAML. Para encontrar una referencia completa de la sintaxis de YAML para flujos de trabajo de creación, consulta la sección "[Sintaxis de fluljo de trabajo para GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#about-yaml-syntax-for-workflows)". {% data reusables.actions.workflow-basic-example-and-explanation %} -For more on managing workflow runs, such as re-running, cancelling, or deleting a workflow run, see "[Managing workflow runs](/actions/managing-workflow-runs)." +Para ver más información sobre cómo manejar las ejecuciones de flujo de trabajo tales como re-ejecutar, cancelar o borrar una ejecución de flujo de trabajo, consulta la sección "[Administrar las ejecuciones de flujo de trabajo](/actions/managing-workflow-runs)". ## Utilizar flujos de trabajo iniciales {% data reusables.actions.workflow-template-overview %} -For more information on using and creating starter workflows, see "[Using starter workflows](/actions/using-workflows/using-starter-workflows)" and "[Creating starter workflows for your organization](/actions/using-workflows/creating-starter-workflows-for-your-organization)." +Para obtener más información sobre cómo utilizar y crear flujos de trabajo iniciales, consulta las secciones "[Utilizar flujos de trabajo iniciales](/actions/using-workflows/using-starter-workflows)" y "[Crear flujos de trabajo iniciales para tu organización](/actions/using-workflows/creating-starter-workflows-for-your-organization)". ## Características avanzadas de los flujos de trabajo -This section briefly describes some of the advanced features of {% data variables.product.prodname_actions %} that help you create more complex workflows. +Esta sección describe brevemente algunas de las características avanzadas de {% data variables.product.prodname_actions %} que te ayudan a crear flujos de trabajo más complejos. ### Almacenar secretos -Si tus flujos de trabajo utilizan datos sensibles tales como contraseñas o certificados, puedes guardarlos en {% data variables.product.prodname_dotcom %} como _secretos_ y luego usarlos en tus flujos de trabajo como variables de ambiente. This means that you will be able to create and share workflows without having to embed sensitive values directly in the workflow's YAML source. +Si tus flujos de trabajo utilizan datos sensibles tales como contraseñas o certificados, puedes guardarlos en {% data variables.product.prodname_dotcom %} como _secretos_ y luego usarlos en tus flujos de trabajo como variables de ambiente. Esto significa que podrás crear y compartir flujos de trabajo sin tener que embeber valores sensibles directamente en la fuente de YAML del flujo de trabajo. -This example job demonstrates how to reference an existing secret as an environment variable, and send it as a parameter to an example command. +Este job de ejemplo demuestra como referenciar un secreto existente como una variable de ambiente y enviarlo como un parámetro a un comando de ejemplo. {% raw %} ```yaml @@ -81,7 +81,7 @@ Para obtener más información, consulta la sección "[Secretos cifrados](/actio ### Crear jobs dependientes -Predeterminadamente, los jobs en tu flujo de trabajo se ejecutan todos en paralelo y al mismo tiempo. If you have a job that must only run after another job has completed, you can use the `needs` keyword to create this dependency. If one of the jobs fails, all dependent jobs are skipped; however, if you need the jobs to continue, you can define this using the `if` conditional statement. +Predeterminadamente, los jobs en tu flujo de trabajo se ejecutan todos en paralelo y al mismo tiempo. Si tienes un job que solo se debe ejecutar después de que se complete otro, puedes utilizar la palabra clave `needs` para crear esta dependencia. Si uno de los jobs falla, todos los jobs dependientes se omiten; sin embargo, si necesites que estos continúen, puedes definir esto utilizando la declaración condicional `if`. En este ejemplo, los jobs de `setup`, `build`, y `test` se ejecutan en serie, y `build` y `test` son dependientes de que el job que las precede se complete con éxito: @@ -107,7 +107,7 @@ Para obtener más información, consulta la sección "[Definir los jobs de prerr ### Utilizar una matriz -{% data reusables.actions.jobs.about-matrix-strategy %} The matrix is created using the `strategy` keyword, which receives the build options as an array. For example, this matrix will run the job multiple times, using different versions of Node.js: +{% data reusables.actions.jobs.about-matrix-strategy %} La matriz se crea utilizando la palabra clave `strategy`, la cual recibe las opciones de compilación como un arreglo. Por ejemplo, esta matriz ejecutará el job varias veces, utilizando versiones diferentes de Node.js: ```yaml jobs: @@ -127,7 +127,7 @@ Para obtener más información, consulta la sección "[Utilizar una matriz para {% ifversion actions-caching %} ### Almacenar dependencias en caché -If your jobs regularly reuse dependencies, you can consider caching these files to help improve performance. Una vez que se crea el caché, estará disponible para todos los flujos de trabajo en el mismo repositorio. +Si tus jobs utilizan dependencias con frecuencia, puedes considerar almacenar estos archivos en caché para ayudar a mejorar el desempeño. Una vez que se crea el caché, estará disponible para todos los flujos de trabajo en el mismo repositorio. Este ejemplo ilustra cómo almacenar el directorio `~/.npm` en el caché: @@ -173,7 +173,7 @@ jobs: POSTGRES_PORT: 5432 ``` -For more information, see "[Using containerized services](/actions/using-containerized-services)." +Para obtener más información, consulta la sección "[Utilizar servicios en contenedores](/actions/using-containerized-services)". ### Utilizar etiquetas para enrutar los flujos de trabajo @@ -187,12 +187,12 @@ jobs: runs-on: [self-hosted, linux, x64, gpu] ``` -Un flujo de trabajo solo se ejecutará en un ejecutor que tenga todas las etiquetas en el arreglo `runs-on`. El job irá preferencialmente a un ejecutor auto-hospedado inactivo con las etiquetas especificadas. {% ifversion fpt or ghec %}If none are available and a {% data variables.product.prodname_dotcom %}-hosted runner with the specified labels exists, the job will go to a {% data variables.product.prodname_dotcom %}-hosted runner.{% endif %} +Un flujo de trabajo solo se ejecutará en un ejecutor que tenga todas las etiquetas en el arreglo `runs-on`. El job irá preferencialmente a un ejecutor auto-hospedado inactivo con las etiquetas especificadas. {% ifversion fpt or ghec %}Si ninguno está disponible y existe un ejecutor hospedado en {% data variables.product.prodname_dotcom %} con las etiquetes especificadas, el job irá al ejecutor hospedado en {% data variables.product.prodname_dotcom %}.{% endif %} -To learn more about self-hosted runner labels, see "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." +Para aprender más sobre las etiquetas de ejecución auto-hospedadas, consulta la sección "[Utilizar etiquetas con los ejecutores auto-hospedados](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)". {% ifversion fpt or ghec %} -To learn more about {% data variables.product.prodname_dotcom %}-hosted runner labels, see "[Supported runners and hardware resources](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)." +Para aprender más sobre las etiquetas de ejecutores hospedados en {% data variables.product.prodname_dotcom %}, consulta la sección "[Recursos de hardware y ejecutores compatibles](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)". {% endif %} {% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} @@ -202,4 +202,4 @@ To learn more about {% data variables.product.prodname_dotcom %}-hosted runner l ### Utilizar ambientes -You can configure environments with protection rules and secrets to control the execution of jobs in a workflow. Cad job en un flujo de trabajo puede referenciar un solo ambiente. Cualquier regla de protección que se configure para el ambiente debe pasar antes de que un job que referencia al ambiente se envíe a un ejecutor. Para obtener más información, consulta la sección "[Utilizar ambientes para despliegue](/actions/deployment/using-environments-for-deployment)". +Puedes configurar ambientes con reglas de protección y secretos para controlar la ejecución de jobs en un flujo de trabajo. Cad job en un flujo de trabajo puede referenciar un solo ambiente. Cualquier regla de protección que se configure para el ambiente debe pasar antes de que un job que referencia al ambiente se envíe a un ejecutor. Para obtener más información, consulta la sección "[Utilizar ambientes para despliegue](/actions/deployment/using-environments-for-deployment)". diff --git a/translations/es-ES/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/translations/es-ES/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md index c70e2ec695..d353ce0f33 100644 --- a/translations/es-ES/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md +++ b/translations/es-ES/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -51,7 +51,7 @@ Para obtener más información sobre los artefactos de ejecución de flujos de t Un flujo de trabajo puede acceder y restaurar una caché creada en la rama actual, la rama base (incluidas las ramas base de los repositorios bifurcados) o la rama predeterminada (por lo general `main`). Por ejemplo, un caché creado en la rama predeterminada sería accesible desde cualquier solicitud de cambios. También, si la rama `feature-b` tiene la rama base `feature-a`, un flujo de trabajo activado en `feature-b` tendría acceso a las cachés creadas en la rama predeterminada (`main`), `feature-a` y `feature-b`. -Las restricciones de acceso proporcionan aislamiento y seguridad de caché al crear una frontera lógica entre las ramas diferentes. Por ejemplo, una solicitud de cambios para la rama `feature-c` (con la base `main`) no podría acceder a un caché que se creó para la rama `feature-a` (con la base `main`). +Access restrictions provide cache isolation and security by creating a logical boundary between different branches or tags. Por ejemplo, una solicitud de cambios para la rama `feature-c` (con la base `main`) no podría acceder a un caché que se creó para la rama `feature-a` (con la base `main`). On similar lines, a cache created for the tag `release-a` (from the base `main`) would not be accessible to a workflow triggered for the tag `release-b` (with the base `main`). Los flujos de trabajo múltiples dentro de un repositorio comparten entradas de caché. Puede accederse a un caché que se crea para una rama dentro de un flujo de trabajo y se puede establecer desde otro flujo de trabajo para el mismo repositorio y rama. 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 7fbf626fd9..0678815493 100644 --- a/translations/es-ES/content/actions/using-workflows/reusing-workflows.md +++ b/translations/es-ES/content/actions/using-workflows/reusing-workflows.md @@ -23,7 +23,7 @@ topics: En vez de copiar y pegar desde un flujo de trabajo hacia otro, puedes hacer flujos de trabajo reutilizables. Tú y cualquiera que tenga acceso a un flujo de trabajo reutilizable pueden entonces llamarlo desde otro flujo. -El reutilizar flujos de trabajo evita la duplicación. Esto hace que los flujos de trabajo se puedan mantener más fácilmente y te permite crear flujos de trabajo nuevos más fácilmente compilando sobre el trabajo de los demás, tal como lo haces con las acciones. La reutilización de flujos de trabajo también promueve las mejores prácticas al ayudarte a utilizar los flujos de trabajo que están bien diseñados, que ya se han probado y cuya efectividad ya se comprobó. Tu organización puede crear una librería de flujos de trabajo reutilizables que puede mantenerse centralmente. +El reutilizar flujos de trabajo evita la duplicación. Esto hace que los flujos de trabajo se puedan mantener más fácilmente y te permite crear flujos de trabajo nuevos más fácilmente compilando sobre el trabajo de los demás, tal como lo haces con las acciones. 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. Tu organización puede crear una librería de flujos de trabajo reutilizables que puede mantenerse centralmente. El siguiente diagrama muestra tres jobs de compilación en la parte izquierda del mismo. Después de que cada uno de estos jobs se complete con éxito, se ejecutará un job dependiente llamado "Deploy". Este job crea un flujo de trabajo reutilizable que contiene tres jobs: "Staging", "Review" y "Production". El job de despliegue "Production" solo se ejecuta después de que el job "Staging" se haya completado con éxito. El utilizar un flujo de trabajo reutilizable para ejecutar jobs de despliegue te permite ejecutarlos para cada compilación sin duplicar el código en los flujos de trabajo. @@ -127,7 +127,7 @@ Puedes definir entradas y secretos, las cuales pueden pasarse desde el flujo de runs-on: ubuntu-latest environment: production steps: - - uses: ./.github/workflows/my-action + - uses: octo-org/my-action@v1 with: username: ${{ inputs.username }} token: ${{ secrets.envPAT }} @@ -168,12 +168,13 @@ jobs: name: Pass input and secrets to my-action runs-on: ubuntu-latest steps: - - uses: ./.github/workflows/my-action + - uses: octo-org/my-action@v1 with: username: ${{ inputs.username }} token: ${{ secrets.token }} ``` {% endraw %} + {% ifversion actions-reusable-workflow-matrix %} ## Utilizar una estrategia de matriz con un flujo de trabajo reutilizable diff --git a/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md index ca217cd8a9..fa2ab3e4f8 100644 --- a/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md +++ b/translations/es-ES/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -8,6 +8,7 @@ type: overview topics: - Enterprise - GitHub Connect +miniTocMaxHeadingLevel: 3 --- ## Acerca de {% data variables.product.prodname_github_connect %} @@ -37,6 +38,16 @@ Después de que configuras la conexión entre {% data variables.product.product_ ## Transmisión de datos para {% data variables.product.prodname_github_connect %} +When {% data variables.product.prodname_github_connect %} is enabled, a record on {% data variables.product.prodname_ghe_cloud %} stores information about the connection. If you enable individual features of {% data variables.product.prodname_github_connect %}, additional data is transmitted. + +{% note %} + +**Nota:** Jamás se transmitirán repositorios, propuestas o solicitudes de cambios desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} mediante {% data variables.product.prodname_github_connect %}. + +{% endnote %} + +### Data transmitted when {% data variables.product.prodname_github_connect %} is enabled + Cuando habilitas {% data variables.product.prodname_github_connect %} o características específicas de {% data variables.product.prodname_github_connect %}, un registro en las tiendas de {% data variables.product.prodname_ghe_cloud %} almacena la siguiente información sobre la conexión. {% ifversion ghes %} - La parte pública de la clave de tu licencia {% data variables.product.prodname_ghe_server %} @@ -54,23 +65,19 @@ Cuando habilitas {% data variables.product.prodname_github_connect %} o caracter {% data variables.product.prodname_github_connect %} sincroniza los datos de conexión anteriores entre {% data variables.product.product_location %}y {% data variables.product.prodname_ghe_cloud %} semanalmente, desde el día y hora aproximada en que se habilitó {% data variables.product.prodname_github_connect %}. -{% note %} - -**Nota:** Jamás se transmitirán repositorios, propuestas o solicitudes de cambios desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} mediante {% data variables.product.prodname_github_connect %}. - -{% endnote %} +### Data transmitted by individual features of {% data variables.product.prodname_github_connect %} Los datos adicionales se transmiten si habilitas las características individuales de {% data variables.product.prodname_github_connect %}. -| Característica | Datos | ¿De qué forma fluyen los datos? | ¿Dónde se utilizan los datos? | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |{% ifversion ghes %} -| Sincronización automática de licencias de usuario | Cada ID de usuario y dirección de correo electrónico de un usuario de {% data variables.product.product_name %} | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} -| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidades | Desde {% data variables.product.prodname_dotcom_the_website %} hasta {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} -| {% data variables.product.prodname_dependabot_updates %} | Las dependencias y los metadatos de cada repositorio de una dependencia

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

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

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

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

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

De {% data variables.product.product_name %} a {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} +| Contribuciones unificadas | Conteo de contribuciones | Desde {% data variables.product.product_name %} hacia {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} ## Leer más diff --git a/translations/es-ES/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md b/translations/es-ES/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md index a9c9b79a9a..13d6b1583a 100644 --- a/translations/es-ES/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md +++ b/translations/es-ES/content/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise.md @@ -12,9 +12,9 @@ shortTitle: Estadísticas del servidor ## Acerca de las {% data variables.product.prodname_server_statistics %} -{% data variables.product.prodname_server_statistics %} collects aggregate usage data from {% data variables.product.product_location %}, which you can use to better anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}. +{% data variables.product.prodname_server_statistics %} recopila los datos de uso agregado de {% data variables.product.product_location %}, lo que te permite anticipar las necesidades de tu organización de una forma mejor, entender cómo trabaja tu equipo y mostrar el valor que obtienes de {% data variables.product.prodname_ghe_server %}. -{% data variables.product.prodname_server_statistics %} only collects certain aggregate metrics on repositories, issues, pull requests, and other features.{% data variables.product.prodname_dotcom %} content, such as code, issues, comments, or pull request content, is not collected. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics)". +{% data variables.product.prodname_server_statistics %} solo recopila ciertas métricas agregadas en los repositorios, propuestas, solicitudes de cambio y otras características. No se recopila el contenido de {% data variables.product.prodname_dotcom %} tal como el código, las propuestas, los comentarios o el contenido de las solicitudes de cambio. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics)". By enabling {% data variables.product.prodname_server_statistics %}, you are also helping to improve {% data variables.product.company_short %}. The aggregated data you will provide helps us understand how our customers are using {% data variables.product.prodname_dotcom %}, and make better and more informed product decisions, ultimately benefiting you. diff --git a/translations/es-ES/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md b/translations/es-ES/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md index ebc92a5935..aef1dcf2fd 100644 --- a/translations/es-ES/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md +++ b/translations/es-ES/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md @@ -19,6 +19,8 @@ Si configuras un nombre del host en lugar de una dirección IP codificada de for La configuración del nombre de host en la {% data variables.enterprise.management_console %} debe ajustarse a un nombre de dominio adecuado y que cumpla con todos los requisitos (FQDN) el cual se pueda resolver en la internet o dentro de tu red interna. Por ejemplo, tu ajuste de nombre de host podría ser `github.companyname.com.` Las solicitudes web y de la API se redireccionarán automáticamente al nombre de host que se configuró en la {% data variables.enterprise.management_console %}. Toma en cuenta que `localhost` no es un ajuste válido de nombre de host. +Hostnames must be less than 63 characters in length per [Section 2.3.4 of the Domain Names Specification RFC](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4). + Después de que configuras un nombre de host, puedes habilitar el aislamiento de subdominios para incrementar la seguridad de {% data variables.product.product_location %} aún más. Para obtener más información, consulta "[Habilitar el aislamiento de subdominio](/enterprise/admin/guides/installation/enabling-subdomain-isolation/)." Para obtener más información sobre los tipos de nombres de host compatibles, consulta la [Sección 2.1 del RFC de HTTP](https://tools.ietf.org/html/rfc1123#section-2). 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 d910032fec..002671e9ef 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 @@ -78,6 +78,14 @@ Los propietarios de las empresas pueden configurar los correos electrónicos par Puedes requerir el cifrado de TLS para todas las conexiones entrantes de SMTP, lo cual puede ayudar a satisfacer un requisito de certificación ISO-27017. +{%- ifversion ghes = 3.6 %} +{% note %} + +**Note**: Enforcement of TLS for SMTP connections is unavailable in {% data variables.product.product_name %} 3.6.0. The feature will be available in an upcoming release. + +{% endnote %} +{%- endif %} + {% data reusables.enterprise_site_admin_settings.email-settings %} 1. Debajo de "Autenticación", selecciona **requerir la autenticación con TLS (recomendado)**. diff --git a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index 3471576d3e..75f1ca9141 100644 --- a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -31,12 +31,15 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta ## Agregar una dirección IP permitida +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Permitir el acceso mediante {% data variables.product.prodname_github_apps %} @@ -44,6 +47,8 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta ## Habilitar direcciones IP permitidas +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -52,6 +57,8 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta ## Editar una dirección IP permitida +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -59,6 +66,18 @@ Para las restricciones a nivel de instancia que utilizan los NSG de Azure, conta {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Da clic en **Actualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificar si se permite una dirección IP + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## Eliminar una dirección IP permitida diff --git a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md index e074b64fd8..5bd322dcae 100644 --- a/translations/es-ES/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md +++ b/translations/es-ES/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md @@ -131,46 +131,49 @@ Key | Description {% ifversion ghes %} ## Indexing -GitHub's [code search][] features are powered by [ElasticSearch][]. This section of the site admin dashboard shows you the current status of your ElasticSearch cluster and provides you with several tools to control the behavior of searching and indexing. These tools are split into the following three categories. +GitHub's search features are powered by Elasticsearch. This section of the site admin dashboard shows you the current status of your Elasticsearch cluster and provides you with several tools to control search and index behavior. - [Code Search]: https://github.com/blog/1381-a-whole-new-code-search - [ElasticSearch]: http://www.elasticsearch.org/ +For more information about code search, see "[Searching for information on {% data variables.product.prodname_dotcom %}](/search-github)." For more information about Elasticsearch, see the [Elasticsearch website](https://elastic.co). + +{% note %} + +**Note**: In normal use, site administrators do not need to create new indices or schedule repair jobs. For troubleshooting or other support purposes, {% data variables.contact.github_support %} may instruct you to run a repair job. + +{% endnote %} + +### Index management + +{% data variables.product.product_name %} reconciles the state of the search index with data on the instance automatically and regularly. + +- Issues, pull requests, repositories, and users in the database +- Git repositories (source code) on disk + +Your instance uses repair jobs to reconcile the data, and schedules a repair job in the background when the following events occur. + +- A new search index is created. +- Missing data needs to be backfilled. +- Old search data needs to be updated. + +You can create a new index, or you can click on an existing index in the list to manage the index. You can perform the following operations on an index. + +- Make the index searchable. +- Make the index writable. +- Update the index. +- Delete the index +- Reset the index repair state. +- Start a new index repair job. +- Enable or disable index repair jobs. + +A progress bar shows the current status of a repair job across background workers. The bar is the percentage difference of the repair offset with the highest record ID in the database. You can ignore the value shown in the progress bar after a repair job has completed. The progress bar shows the difference between the repair offset and the highest record ID in the database, and will decrease as more repositories are added to {% data variables.product.product_location %} even though those repositories are actually indexed. + +To minimize the effects on I/O performance and reduce the chances of operations timing out, run the repair job during off-peak hours. As the job reconciles the search index with database and Git repository data, one CPU will be used. Monitor your system's load averages and CPU usage with a utility like `top`. If you don't notice any significant increase in resource consumption, it should also be safe to run an index repair job during peak hours. + +Repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. ### Code search This allows you to enable or disable both search and index operations on source code. -### Code search index repair - -This controls how the code search index is repaired. You can - -- enable or disable index repair jobs -- start a new index repair job -- reset all index repair state - -{% data variables.product.prodname_enterprise %} uses repair jobs to reconcile the state of the search index with data stored in a database (issues, pull requests, repositories, and users) and data stored in Git repositories (source code). This happens when - -- a new search index is created; -- missing data needs to be backfilled; or -- old search data needs to be updated. - -In other words, repair jobs are started as needed and run in the background—they are not scheduled by site admins in any way. - -Furthermore, repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. - -A progress bar shows the current status of a repair job across all of its background workers. It is the percentage difference of the repair offset with the highest record ID in the database. Don't worry about the value shown in the progress bar after a repair job has completed: because it shows the difference between the repair offset and the highest record ID in the database, it will decrease as more repositories are added to {% data variables.product.product_location %} even though those repositories are actually indexed. - -You can start a new code-search index repair job at any time. It will use a single CPU as it reconciles the search index with database and Git repository data. To minimize the effects this will have on I/O performance and reduce the chances of operations timing out, try to run a repair job during off-peak hours first. Monitor your system's load averages and CPU usage with a utility like `top`; if you don't notice any significant changes, it should be safe to run an index repair job during peak hours, as well. - -### Issues index repair - -This controls how the [Issues][] index is repaired. You can - - [Issues]: https://github.com/blog/831-issues-2-0-the-next-generation - -- enable or disable index repair jobs -- start a new index repair job -- reset all index repair state {% endif %} ## Reserved logins diff --git a/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md b/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md index 7d0fbc474c..65b1926312 100644 --- a/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md +++ b/translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md @@ -83,7 +83,7 @@ Puedes crear un grupo de ejecutores para administrar el acceso al ejecutor que a {% data variables.product.product_name %} agrega a todos los ejecutores nuevos a un grupo. Los ejecutores pueden estar en solo un grupo a la vez. Predeterminadamente, {% data variables.product.product_name %} agrega ejecutores nuevos al grupo "Predeterminado". -{% data reusables.actions.self-hosted-runner-groups-add-to-enterprise-first-steps %} +{% data reusables.actions.runner-groups-add-to-enterprise-first-steps %} 1. Para elegir una política para el acceso de la organización, debajo de "Acceso de la organización", selecciona el menú desplegable **Acceso de la organización** y haz clic en **Organizaciones selectas**. 1. A la derecha del menú desplegable con la política de acceso de la organización, haz clic en {% octicon "gear" aria-label="The Gear icon" %}. 1. Selecciona las organizaciones a las cuales te gustaría otorgar acceso al grupo de ejecutores. @@ -100,7 +100,7 @@ Puedes crear un grupo de ejecutores para administrar el acceso al ejecutor que a {% endwarning %} {%- endif %} -{% data reusables.actions.self-hosted-runner-create-group %} +{% data reusables.actions.create-runner-group %} {%- ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} 1. Haz clic en la pestaña de "Ejecutores". 1. En la lista de ejecutores, haz clic en aquél que hayas desplegado en la sección previa. diff --git a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md index ed71174e55..0582e6ab1c 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md +++ b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -82,7 +82,11 @@ Estas restricciones no son aceptables para algunas empresas. Para determinar si ### ¿Tus desarrolladores confían en la colaboración fuera de tu empresa? -{% data variables.product.prodname_managed_users_caps %} solo puede contribuir con los repositorios dentro de tu empresa. Si tus desarrolladores necesitan colaborar en repositorios externos a tu empresa, incluso si estos son privados, para completar su trabajo, {% data variables.product.prodname_emus %} podría no ser lo correcto para tu empresa y el SSO de SAML podría ser una mejor solución. +{% data variables.product.prodname_managed_users_caps %} solo puede contribuir con los repositorios dentro de tu empresa. Si tus desarrolladores deben contribuir con ambos repositorios dentro y fuera de tu empresa, incluyendo a los repositorios privados, {% data variables.product.prodname_emus %} podría no ser lo correcto para tu empresa. El SSO de SAML podría ser una mejor solución. + +Algunas empresas mantienen repositorios dentro de una empresa existente utilizando el SSO de SAML en {% data variables.product.product_location %} y también crean una {% data variables.product.prodname_emu_enterprise %}. Los desarrolladores que contribuyen con los repositorios que le pertenecen a ambas empresas desde una estación de trabajo única deben cambiar entre las cuentas de {% data variables.product.product_location %} dentro de un solo buscador o utilizar un buscador diferente para cada cuenta. El desarrollador también podría necesitar personalizar la configuración de Git de la estación de trabajo para acomodar las dos cuentas. La complejidad de este flujo de trabajo puede incrementar el riesgo de filtrar el código interno al público por accidente. + +Si decides crear una {% data variables.product.prodname_emu_enterprise %} pero necesitas que los desarrolladores contribuyan con los recursos fuera de la empresa desde una sola estación de trabajo, puedes proporcionar compatibilidad para cambiar entre las cuentas de una configuración local de Git del desarrollador. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#supporting-developers-with-multiple-user-accounts-on-githubcom)". ### ¿Tu empresa depende de colaboradores externos? diff --git a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md index cf63cbeb21..c43aea77bd 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md +++ b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/changing-authentication-methods.md @@ -40,4 +40,4 @@ Otras cuestiones que deberías tener en cuenta son las siguientes: * **Autenticación de dos factores:** {% data reusables.enterprise_user_management.external_auth_disables_2fa %} -* **Fallback authentication for users with no account on your external authentication provider:** You can invite users to authenticate to {% data variables.product.product_location %} without adding them to your identity provider. For more information, see "[Allowing built-in authentication for users outside your provider](/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider)." +* **Autenticación de segunda opción para los usuarios que no tienen una cuenta en tu proveedor de autenticación externa:** Puedes invitar a los usuarios para que se autentiquen en {% data variables.product.product_location %} sin agregarlos a tu proveedor de identidad. Para obtener más información, consulta la sección "[Permitir la autenticación integrada para los usuarios fuera de tu proveedor](/admin/identity-and-access-management/managing-iam-for-your-enterprise/allowing-built-in-authentication-for-users-outside-your-provider)". diff --git a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md index 8a0bc59ed1..1ffcbea270 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md +++ b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/troubleshooting-identity-and-access-management-for-your-enterprise.md @@ -23,7 +23,7 @@ topics: {% ifversion ghec %} ## Errors when switching authentication configurations -If you're experiencing problems while switching between different authentication configurations, such as changing your SAML SSO configuration from an organization to an enterprise account or migrating from SAML to OIDC for {% data variables.product.prodname_emus %}, ensure you're following our best practices for the change. +Si estás teniendo problemas al cambiar entre las diferentes configuraciones de autenticación, tales como cambiar tu configuración del SSO de SAML de una organización a una cuenta empresarial o migrándote de SAML a OIDC para las {% data variables.product.prodname_emus %}, asegúrate de estar siguiendo nuestras mejores prácticas para dicho cambio. - "[Switching your SAML configuration from an organization to an enterprise account](/admin/identity-and-access-management/using-saml-for-enterprise-iam/switching-your-saml-configuration-from-an-organization-to-an-enterprise-account)" - "[Migrating from SAML to OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)" diff --git a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md index 467df68ece..0e5cba2071 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md +++ b/translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md @@ -1,6 +1,6 @@ --- -title: Username considerations for external authentication -shortTitle: Username considerations +title: Consideraciones de nombre de usuario para la autenticación externa +shortTitle: Consideraciones de nombre de usuario intro: '{% ifversion ghes or ghec %}Cuando utilizas {% ifversion ghes %}CAS, LDAP o SAML para la autenticación{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% endif %}{% data variables.product.product_name %} sigue reglas específicas para determinar el nombre de usuario de cada cuenta de usuario {% ifversion ghec or ghae %}en tu empresa{% elsif ghes %}en tu instancia{% endif %}.' miniTocMaxHeadingLevel: 3 versions: @@ -19,62 +19,62 @@ topics: {% ifversion ghec %} {% note %} -**Note:** This article only applies to {% data variables.product.prodname_emus %}. If you use {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, usernames are created by users, not {% data variables.product.prodname_dotcom %}. +**Nota:** Este artículo solo aplica a {% data variables.product.prodname_emus %}. Si tuilizas {% data variables.product.prodname_ghe_cloud %} sin {% data variables.product.prodname_emus %}, los usuarios crearán sus nombres de usuario y no {% data variables.product.prodname_dotcom %}. {% endnote %} {% endif %} -## About usernames with external authentication +## Acerca de los nombres de usuario con autenticación externa {% ifversion ghes %} -You can configure external authentication for {% data variables.product.product_name %} using CAS, LDAP, or SAML. Para obtener más información, consulta la sección "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)". +Puedes configurar la autenticación externa para {% data variables.product.product_name %} utilizando CAS, LDAP o SAML. Para obtener más información, consulta la sección "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)". -When you use external authentication, {% data variables.product.product_location %} automatically creates a username for each person when the person signs into {% data variables.product.product_location %} through your external authentication system for the first time. +Cuando utilizas autenticación externa, {% data variables.product.product_location %} crea automáticamente un nombre de usuario para cada persona cuando inician sesión en {% data variables.product.product_location %} mediante tu sistema de autenticación externa para la primera ocasión. {% elsif ghec %} -If you use an enterprise with {% data variables.product.prodname_emus %}, members of your enterprise authenticate to access {% data variables.product.prodname_dotcom %} through your SAML identity provider (IdP). Para obtener más información, consulta las secciones"[Acerca de las {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" y "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)". +Si utilizas una empresa con {% data variables.product.prodname_emus %}, los miembros de tu empresa se autentican para acceder a {% data variables.product.prodname_dotcom %} mediante tu proveedor de identidad (IdP) de SAML. Para obtener más información, consulta las secciones"[Acerca de las {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" y "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)". -{% data variables.product.product_name %} automatically creates a username for each person when their user account is provisioned via SCIM, by normalizing an identifier provided by your IdP. If multiple identifiers are normalized into the same username, a username conflict occurs, and only the first user account is created. You can resolve username conflicts by making a change in your IdP so that the normalized usernames will be unique. +{% data variables.product.product_name %} crea automáticamente un nombre de usuario para cada persona cuando su cuenta de usuario se aprovisiona a través de SCIM mediante la normalización de un identificador que proporciona tu IdP. Si se normalizan identificadores múltiples en el mismo nombre de usuario, ocurrirá un conflicto de nombre de usuario y solo se creará la primera cuenta de usuario. Puedes resolver conflictos de nombre de usuario haciendo un cambio en tu IdP para que los nombres de usuario normalizados sean únicos. {% elsif ghae %} -{% data variables.product.product_name %} uses SAML SSO for authentication, and automatically creates a username for each person when the person signs in through your identity provider (IdP) for the first time. +{% data variables.product.product_name %} utiliza el SSO de SAML para la autenticación y crea automáticamente un nombre de usuario para cada persona cuando esta inicia sesión mediante tu proveedor de identidad (IdP) por primera vez. {% endif %} {% ifversion ghec %} -## About usernames for {% data variables.product.prodname_managed_users %} +## Acerca de los nombres de usuario para {% data variables.product.prodname_managed_users %} -When your {% data variables.product.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} El usuario de configuración que configure el SSO de SAML tendrá un nombre de usuario en el formato **@SHORT-CODE_admin**. +Cuando se crea tu {% data variables.product.prodname_emu_enterprise %}, debes elegir un código corto que se utilizará como el sufijo para los nombres de usuario de los miembros de tu empresa. {% data reusables.enterprise-accounts.emu-shortcode %} El usuario de configuración que configure el SSO de SAML tendrá un nombre de usuario en el formato **@SHORT-CODE_admin**. -Cuando aprovisionas un usuario nuevo desde tu proveedor de identidad, el {% data variables.product.prodname_managed_user %} nuevo tendrá un nombre de usuario de {% data variables.product.prodname_dotcom %} en el formato de **@IDP-USERNAME_SHORT-CODE**. The IDP-USERNAME component is formed by normalizing the SCIM `userName` attribute value sent from the IdP. +Cuando aprovisionas un usuario nuevo desde tu proveedor de identidad, el {% data variables.product.prodname_managed_user %} nuevo tendrá un nombre de usuario de {% data variables.product.prodname_dotcom %} en el formato de **@IDP-USERNAME_SHORT-CODE**. El componente IDP-USERNAME se forma normalizando el valor de atributo de SCIM `userName` que se envía desde el IdP. | Proveedor de identidad | Nombre de usuario de {% data variables.product.prodname_dotcom %} -| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Azure Active Directory (Azure AD) | _IDP-USERNAME_ is formed by normalizing the characters preceding the `@` character in the UPN (User Principal Name), which does not include the `#EXT#` for guest accounts. | -| Okta | _IDP-USERNAME_ is the normalized username attribute provided by the IdP. | +| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Azure Active Directory (Azure AD) | _IDP-USERNAME_ se conforma al normalizar los caracteres que preceden al carácter `@` en el UPN (Nombre Principal de Usuario), el cual no incluye el `#EXT#` para las cuentas de invitado. | +| Okta | _IDP-USERNAME_ es el atributo de nombre de usuario normalizado que proporciona el IdP. | -These rules may result in your IdP providing the same _IDP-USERNAME_ for multiple users. For example, for Azure AD, the following UPNs will result in the same username: +Estas reglas podrían dar como resultado que tu IdP proporcione la misma _IDP-USERNAME_ para varios usuarios. Por ejemplo, para Azure AD, las siguientes UPN darán como resultado el mismo nombre de usuario: - `bob@contoso.com` - `bob@fabrikam.com` - `bob#EXT#fabrikamcom@contoso.com` -This will cause a username conflict, and only the first user will be provisioned. For more information, see "[Resolving username conflicts](#resolving-username-conflicts)." +Esto ocasionará un conflicto de nombre de usuario y solo el primero se aprovisionará. Para obtener más información, consulta la sección "[Resolver conflictos de nombre de usuario](#resolving-username-conflicts)". {% endif %} -Usernames{% ifversion ghec %}, including underscore and short code,{% endif %} must not exceed 39 characters. +Los nombres de usuario{% ifversion ghec %}, incluyendo los guiones bajos y el código corto,{% endif %} no deben ser de más de 39 caracteres. -## About username normalization +## Acerca de la normalización de nombres de usuario Usernames for user accounts on {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} can only contain alphanumeric characters and dashes (`-`). {% ifversion ghec %} When you configure SAML authentication, {% data variables.product.product_name %} uses the SCIM `userName` attribute value sent from the IdP to determine the username for the corresponding user account on {% data variables.product.prodname_dotcom_the_website %}. If this value includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules. {% elsif ghes %} -When you configure CAS, LDAP, or SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your external authentication provider to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules. +Cuando configuras la autenticación de CAS, LDAP o SAML, {% data variables.product.product_name %} utiliza un identificador de la cuenta de usuario en tu proveedor de autenticación externo para determinar el nombre de usuario de la cuenta de usuario correspondiente en {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules. {% elsif ghae %} When you configure SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your IdP to determine the username for the corresponding user account on {% data variables.product.product_name %}. Si el identificador incluye caracteres no compatibles, {% data variables.product.product_name %} normalizará el nombre de usuario de acuerdo con las siguientes reglas. {% endif %} @@ -100,7 +100,7 @@ When you configure SAML authentication, {% data variables.product.product_name % {% ifversion not ghec %} ### About username normalization with SAML -{% ifversion ghes %}If you configure SAML authentication for {% data variables.product.product_location %}, {% endif %}{% data variables.product.product_name %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority. +{% ifversion ghes %}Si configuras la autenticación de SAML para {% data variables.product.product_location %}, {% endif %}{% data variables.product.product_name %} determina el nombre de cada persona mediante una de las siguientes aserciones en la respuesta de SAML, ordenado por prioridad de forma descendente. 1. The custom `username` attribute, if defined and present 1. Una aserción `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`, si hay una. @@ -153,5 +153,5 @@ To resolve username conflicts in Okta, update the attribute mapping settings for 1. In Okta, open the {% data variables.product.prodname_emu_idp_application %} application. 1. Haz clic en **Iniciar sesión**. 1. In the "Settings" section, click **Edit**. -1. Update the "Application username format." +1. Actualiza el "formato de aplicación de nombre de usuario". {% endif %} diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md b/translations/es-ES/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md index 0743a56c7f..d33d0b7be0 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-cas-for-enterprise-iam/using-cas.md @@ -8,7 +8,7 @@ redirect_from: - /admin/authentication/using-cas - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-cas - /admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-cas -intro: 'If you use Central Authentication Service (CAS) to centralize access to multiple web applications, you can integrate {% data variables.product.product_name %} by configuring CAS authentication for your instance.' +intro: 'Si utilizas el Servicio de Autenticación Central (CAS) para centralizar el acceso a diversas aplicaciones web, puedes integrar a {% data variables.product.product_name %} configurando la autenticación de CAS para tu instancia.' versions: ghes: '*' type: how_to @@ -20,13 +20,13 @@ topics: - SSO --- -## About CAS authentication for {% data variables.product.product_name %} +## Acerca de la autenticación de CAS para {% data variables.product.product_name %} -CAS is a single sign-on (SSO) protocol that centralizes authentication to multiple web applications. For more information, see "[Central Authentication Service](https://en.wikipedia.org/wiki/Central_Authentication_Service)" on Wikipedia. +CAS es un protocolo de inicio de sesión única (SSO) que centraliza la autenticación a varias aplicaciones web. Para obtener más información, consulta "[Central Authentication Service](https://en.wikipedia.org/wiki/Central_Authentication_Service)" en Wikipedia. -After you configure CAS, people who use {% data variables.product.product_location %} must use a personal access token to authenticate API or Git requests over HTTP(S). CAS credentials cannot be used to authenticate these requests. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". +Después de que configuras CAS, las personas que utilizan {% data variables.product.product_location %} debe utilizar un token de acceso personal para autenticar la API o las solicitudes de Git sobre HTTP(S). Las credenciales de CAS no pueden utilizarse para autenticar estas solicitudes. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". -If you configure CAS, people with accounts on your identity provider (IdP) do not consume a user license until the person signs into {% data variables.product.product_location %}. +Si configuras CAS, las personas con cuentas en tu proveedor de identidad (IdP) no consumen una licencia de usuario sino hasta que la persona inicie sesión en {% data variables.product.product_location %}. {% data reusables.enterprise_user_management.built-in-authentication %} @@ -49,8 +49,8 @@ Están disponibles los siguientes atributos. {% data reusables.enterprise_management_console.authentication %} 3. Selecciona **CAS**. - ![Screenshot of selection of CAS for authentication](/assets/images/enterprise/management-console/cas-select.png) + ![Captura de pantalla de la selección de CAS para la autenticación](/assets/images/enterprise/management-console/cas-select.png) 4. {% data reusables.enterprise_user_management.built-in-authentication-option %} - ![Screenshot of of fallback built-in authentication option for CAS](/assets/images/enterprise/management-console/cas-built-in-authentication.png) + ![Captura de pantalla de segunda opción de autenticación integrada para CAS](/assets/images/enterprise/management-console/cas-built-in-authentication.png) 5. En el campo **URL del servidor**, escribe la URL completa de tu servidor CAS. Si tu servidor CAS usa un certificado que no puede ser validado por {% data variables.product.prodname_ghe_server %}, puedes usar el comando `ghe-ssl-ca-certificate-install` para instalarlo como un certificado de confianza. Para obtener más información, consulta la sección "[Utilidades de línea de comandos](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-ssl-ca-certificate-install)". diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md index 392f7da3ca..b24cbb3525 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -36,15 +36,13 @@ Puedes otorgar acceso a los {% data variables.product.prodname_managed_users %}, El nombre de usuario de los {% data variables.product.prodname_managed_users %} de tu empresa y su información de perfil, tal como los nombres y direcciones de correo electrónico que se muestran, se configuran mediante tu IdP y no pueden cambiarlos los mismos usuarios. Para obtener más información, consulta la sección "[Nombres de usuario e información de perfil](#usernames-and-profile-information)". -{% data reusables.enterprise-accounts.emu-forks %} - Los propietarios de las empresas pueden auditar todas las acciones de los {% data variables.product.prodname_managed_users %} en {% data variables.product.prodname_dotcom %}. For more information, see "[Audit log events for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#about-audit-log-events-for-your-enterprise)." Para utilizar los {% data variables.product.prodname_emus %}, necesitas un tipo separado de cuenta empresarial con {% data variables.product.prodname_emus %} habilitados. Para obtener más información sobre cómo crear esta cuenta, consulta la sección "[Acerca de las empresas con usuarios administrados](#about-enterprises-with-managed-users)". {% note %} -**Note:** There are multiple options for identity and access management with {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_emus %} is not the best solution for every customer. For more information about whether {% data variables.product.prodname_emus %} is right for your enterprise, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#identifying-the-best-authentication-method-for-your-enterprise)." +**Note:** There are multiple options for identity and access management with {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_emus %} is not the best solution for every customer. Para obtener más información sobre si las {% data variables.product.prodname_emus %} son correctas para tu empresa, consulta la sección "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#identifying-the-best-authentication-method-for-your-enterprise)". {% endnote %} @@ -75,7 +73,8 @@ Los {% data variables.product.prodname_managed_users_caps %} solo pueden colabor * Los {% data variables.product.prodname_managed_users_caps %} no pueden crear gists o comentar en ellos. * Los {% data variables.product.prodname_managed_users_caps %} no pueden instalar {% data variables.product.prodname_github_apps %} en sus cuentas de usuario. * Otros usuarios de {% data variables.product.prodname_dotcom %} no pueden ver, mencionar o invitar a {% data variables.product.prodname_managed_user %} para colaborar. -* Los {% data variables.product.prodname_managed_users_caps %} solo pueden ser propietarios de repositorios privados y los {% data variables.product.prodname_managed_users %} solo pueden invitar a otros miembros de la empresa para que colaboren con sus propios repositorios. +* You can choose whether {% data variables.product.prodname_managed_users %} are able to create repositories owned by their user accounts. Para obtener más información, consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)". +* If you allow {% data variables.product.prodname_managed_users %} to create repositories owned by their user accounts, they can only own private repositories and can only invite other enterprise members to collaborate on their user-owned repositories. * {% data reusables.enterprise-accounts.emu-forks %} * Solo se pueden crear repositorios internos y privados en las organizaciones que pertenezcan a una {% data variables.product.prodname_emu_enterprise %}, dependiendo de los ajustes de visibilidad del repositorio o empresa. * {% data variables.product.prodname_managed_users_caps %} are limited in their use of {% data variables.product.prodname_pages %}. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)". @@ -113,6 +112,8 @@ Before your developers can use {% data variables.product.prodname_ghe_cloud %} w 5. Once authentication and provisioning are configured, you can start provisioning members and managing teams. Para obtener más información, consulta la sección "[Administrar las membrecías de equipo con los grupos de proveedor de identidades](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)". +If members of your enterprise must use one workstation to contribute to repositories on {% data variables.product.product_location %} from both a {% data variables.product.prodname_managed_user %} and a personal account, you can provide support. For more information, see "[Supporting developers with multiple user accounts on {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom)." + ## Autenticarse como una {% data variables.product.prodname_managed_user %} Los {% data variables.product.prodname_managed_users_caps %} se deben autenticar mediante su proveedor de identidad. Para autenticarse, un {% data variables.product.prodname_managed_user %} puede visitar su portal de aplicación IdP o utilizar una página de inicio de sesión en {% data variables.product.prodname_dotcom_the_website %}. @@ -132,3 +133,9 @@ Los {% data variables.product.prodname_managed_users_caps %} se deben autenticar A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)." El nombre de perfil y dirección de correo electrónico de un {% data variables.product.prodname_managed_user %} también lo proporciona el IdP. {% data variables.product.prodname_managed_users_caps %} cannot change their profile name or email address on {% data variables.product.prodname_dotcom %}, and the IdP can only provide a single email address. + +## Supporting developers with multiple user accounts on {% data variables.product.product_location %} + +People on your team may need to contribute to resources on {% data variables.product.product_location %} that are outside of your {% data variables.product.prodname_emu_enterprise %}. For example, you may wish to maintain a separate enterprise for your company's open source projects. Because a {% data variables.product.prodname_managed_user %} cannot contribute to public resources, users will need to maintain a separate, personal account for this work. + +People who must contribute from two user accounts on {% data variables.product.product_location %} using one workstation can configure Git to simplify the process. For more information, see "[Managing multiple accounts](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)." diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md index 22baa3473e..e2c8a03c3e 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -22,9 +22,11 @@ CAP support is enabled automatically for any {% data variables.product.prodname_ Para obtener más información sobre cómo utilizar OIDC con {% data variables.product.prodname_emus %}, consulta las secciones "[Configurar OIDC para los usuarios empresariales administrados](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users) y "[Migrarse de SAML a OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)". -## About using CAP with IP allow lists +{% note %} -We recommend disabling your enterprise account's IP allow list and relying on your IdP's CAP. If you enable IP allow lists for your enterprise and also make use of your IdP's CAP, both the IP allow list and CAP will be enforced. If either restriction rejects a user's IP address, the request fails. Para obtener más información sobre las listas de IP permitidas, consulta la sección "[Requerir políticas para la configuración de seguridad en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)". +**Note:** If you use Conditional Access (CA) network location policies in your Azure AD tenant, do not use the IP allow list feature on {% data variables.product.prodname_dotcom_the_website %}, with your enterprise account or with any of the organizations owned by the enterprise. Using both is unsupported and can result in the wrong policy applying. Para obtener más información acerca de las listas de direcciones IP permitidas, consulta las secciones "[Requerir ajustes de seguridad en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" y "[Administrar direcciones IP permitidas en tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)". + +{% endnote %} ## Considerations for integrations and automations diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md index 494cb14c8b..bc479a0b8b 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -1,5 +1,5 @@ --- -title: Migrating from SAML to OIDC +title: Migrarte de SAML a OIDC shortTitle: Migrarte de SAML a OIDC intro: 'If you''re using SAML to authenticate members in your {% data variables.product.prodname_emu_enterprise %}, you can migrate to OpenID Connect (OIDC) and benefit from support for your IdP''s Conditional Access Policy.' product: '{% data reusables.gated-features.emus %}' @@ -26,11 +26,12 @@ If you're new to {% data variables.product.prodname_emus %} and haven't yet conf {% note %} -**Note:** To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. For more information, see "[Downloading your enterprise account's single sign-on recovery codes](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)." +**Note:** To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. Para obtener más información, consulta la sección "[Descargar los códigos de recuperación de inicio de sesión único de tu cuenta empresarial](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)". {% endnote %} 1. Before you begin the migration, sign in to Azure and disable provisioning in the existing {% data variables.product.prodname_emu_idp_application %} application. +1. Si utilizas [Políticas de ubicación de red con Acceso Condicional (CA)](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) en Azure AD y actualmente utilizas una lista de direcciones IP permitidas con tu cuenta empresarial o con cualquier organización que le pertenezca a la cuenta empresarial en {% data variables.product.prodname_dotcom_the_website %}, inhabilita las listas de direcciones IP permitidas. Para obtener más información, consulta las secciones "[Requerir ajustes de seguridad en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" y "[Administrar direcciones IP permitidas en tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)". 1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your enterprise with the username **@SHORT-CODE_admin**. 1. When prompted to continue to your identity provider, click **Use a recovery code** and sign in using one of your enterprise's recovery codes. {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md index c846099ee0..38178d2800 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md @@ -1,6 +1,6 @@ --- title: Configurar la autenticación y el aprovisionamiento para tu empresa utilizando Azure AD -shortTitle: Configure with Azure AD +shortTitle: Configurar con Azure AD intro: 'Puedes utilizar un inquilino en Azure Active Directory (Azure AD) como proveedor de identidad (IdP) para administrar centralmente la autenticación y el aprovisionamiento de usuarios para {% data variables.product.product_location %}.' permissions: 'Enterprise owners can configure authentication and provisioning for an enterprise on {% data variables.product.product_name %}.' versions: diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-for-your-enterprise.md b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-for-your-enterprise.md index 7800bccfd9..1f7a1307b8 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-for-your-enterprise.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/configuring-user-provisioning-for-your-enterprise.md @@ -1,6 +1,6 @@ --- title: Configurar el aprovisionamiento de usuarios para tu empresa -shortTitle: Configure user provisioning +shortTitle: Configurar el aprovisionamiento de usuarios intro: 'Puedes configurar el Sistema para la Administración de Identidad entre Dominios (SCIM) para tu empresa, el cual aprovisiona las cuentas de usuario automáticamente en {% data variables.product.product_location %} cuando asignas la aplicación para {% data variables.product.product_location %} a un usuario en tu proveedor de identidad (IdP).' permissions: 'Enterprise owners can configure user provisioning for an enterprise on {% data variables.product.product_name %}.' versions: @@ -21,9 +21,9 @@ redirect_from: {% data reusables.saml.ae-uses-saml-sso %} Para obtener más información, consulta la sección "[Configurar el incio de sesión único de SAML para tu empresa](/admin/authentication/configuring-saml-single-sign-on-for-your-enterprise)". -You can configure user provisioning with SCIM to automatically create or suspend user accounts and grant access for {% data variables.product.product_name %} when you assign or unassign the application on your IdP. For more information about SCIM, see [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) on the IETF website. +Puedes configurar el aprovisionamiento de usuarios con SCIM para crear o suspender cuentas de usuario automáticamente y obetner acceso para {% data variables.product.product_name %} cuando asignes o desasignes la aplicación en tu IdP. Para obtener más información sobre el SCIM, consulta [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) en el sitio web de IETF. -If you do not configure user provisioning with SCIM, your IdP will not communicate with {% data variables.product.product_name %} automatically when you assign or unassign the application to a user. Without SCIM, {% data variables.product.product_name %} creates a user account using SAML Just-in-Time (JIT) provisioning the first time someone navigates to {% data variables.product.product_name %} and signs in by authenticating through your IdP. +Si no configuras el aprovisionamiento de usuarios con SCIM, tu IdP no se comunicará automáticamente con {% data variables.product.product_name %} cuando asignes o desasignes la aplicación a un usuario. Sin SCIM, {% data variables.product.product_name %} crea una cuenta de usuario utilizando el aprovisionamiento SAML Just-in-Time (JIT) la primera vez que alguien navegue a {% data variables.product.product_name %} e inicie sesión autenticándose a través de tu IdP. Configurar el aprovisionamiento le permite a tu IdP comunicarse con {% data variables.product.product_location %} cuando asignas o desasignas la aplicación para {% data variables.product.product_name %} a un usuario en tu IdP. Cuando asignas la aplicación, tu IdP pedirá que {% data variables.product.product_location %} cree una cuenta y enviará un correo electrónico de incorporación al usuario. Cuando desasignas la aplicación, tu IdP se comunicará con {% data variables.product.product_name %} para invalidad cualquier sesión de SAML e inhabilitar la cuenta del miembro. diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md index 4d05b3a42a..572265309c 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams.md @@ -1,7 +1,7 @@ --- -title: Mapping Okta groups to teams -shortTitle: Map Okta groups to teams -intro: 'You can map your Okta groups to teams on {% data variables.product.prodname_ghe_managed %} to automatically add and remove team members.' +title: Mapear los grupos de Okta a los equipos +shortTitle: Mapear los grupos de Okta a los equipos +intro: 'Puedes mapear tus grupos de Okta a los equipos en {% data variables.product.prodname_ghe_managed %} para que agreguen y eliminen a los miembros automáticamente.' permissions: 'Enterprise owners can configure authentication and provisioning for {% data variables.product.prodname_ghe_managed %}.' versions: ghae: '*' @@ -19,9 +19,9 @@ topics: {% data reusables.saml.okta-ae-sso-beta %} -## About team mapping +## Acerca del mapeo de equipos -If you use Okta as your IdP, you can map your Okta group to a team in {% data variables.product.prodname_ghe_managed %}. Members of the Okta group will automatically become members of the mapped {% data variables.product.prodname_ghe_managed %} team. To configure this mapping, you can configure the Okta "GitHub AE" app to push the group and its members to {% data variables.product.prodname_ghe_managed %}. You can then choose which team in {% data variables.product.prodname_ghe_managed %} will be mapped to the Okta group. +Si utilizas Okta como tu IdP, puedes mapear tu grupo de Okta a un equipo en {% data variables.product.prodname_ghe_managed %}. Members of the Okta group will automatically become members of the mapped {% data variables.product.prodname_ghe_managed %} team. To configure this mapping, you can configure the Okta "GitHub AE" app to push the group and its members to {% data variables.product.prodname_ghe_managed %}. You can then choose which team in {% data variables.product.prodname_ghe_managed %} will be mapped to the Okta group. ## Prerrequisitos diff --git a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index be369be988..26ada0fd5c 100644 --- a/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/es-ES/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -75,10 +75,12 @@ The SP metadata for your enterprise on {% data variables.product.product_name %} The following SAML attributes are available for {% data variables.product.product_name %}.{% ifversion ghes %} You can change the attribute names in the management console, with the exception of the `administrator` attribute. For more information, see "[Accessing the management console](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)."{% endif %} -| Nombre | Required? | Descripción | -|:--------------------- |:--------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `ID del nombre` | Sí | Un identificador de usuario persistente. Se puede usar cualquier formato de identificador de nombre persistente. {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. Para obtener más información, consulta la sección "[Consideraciones de nombre de usuario para la autenticación externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)". | -| `SessionNotOnOrAfter` | No | The date that {% data variables.product.product_name %} invalidates the associated session. After invalidation, the person must authenticate once again to access {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. For more information, see "[Session duration and timeout](#session-duration-and-timeout)." | +| Nombre | Required? | Descripción | +|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:--------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID del nombre` | Sí | Un identificador de usuario persistente. Se puede usar cualquier formato de identificador de nombre persistente. | +| {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. Para obtener más información, consulta la sección "[Consideraciones de nombre de usuario para la autenticación externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)".

{% note %}**Nota:** Es importante utilizar un identificador persistente y legible para humanos. Using a transient identifier format like `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` will result in re-linking of accounts on every sign-in, which can be detrimental to authorization management.{% endnote %} | | | +| | | | +| `SessionNotOnOrAfter` | No | The date that {% data variables.product.product_name %} invalidates the associated session. After invalidation, the person must authenticate once again to access {% ifversion ghec or ghae %}your enterprise's resources{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. For more information, see "[Session duration and timeout](#session-duration-and-timeout)." | {%- ifversion ghes or ghae %} | `administrator` | No | When the value is `true`, {% data variables.product.product_name %} will automatically promote the user to be a {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %}. Setting this attribute to anything but `true` will result in demotion, as long as the value is not blank. Omitting this attribute or leaving the value blank will not change the role of the user. | | `username` | No | The username for {% data variables.product.product_location %}. | {%- endif %} diff --git a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md index bf573eb516..7408d37941 100644 --- a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md +++ b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics.md @@ -1,6 +1,6 @@ --- -title: About Server Statistics -intro: 'You can use {% data variables.product.prodname_server_statistics %} to analyze your own aggregate data from {% data variables.product.prodname_ghe_server %}, and help us improve {% data variables.product.company_short %} products.' +title: Acerca de las estadísitcas del servidor +intro: 'Puedes utilizar {% data variables.product.prodname_server_statistics %} para analizar tus propios datos agregados de {% data variables.product.prodname_ghe_server %} y ayudarnos a mejorar los productos de {% data variables.product.company_short %}.' versions: feature: server-statistics permissions: 'Enterprise owners can enable {% data variables.product.prodname_server_statistics %}.' @@ -10,11 +10,11 @@ topics: - Enterprise --- -## About the benefits of {% data variables.product.prodname_server_statistics %} +## Acerca de los beneficios de las {% data variables.product.prodname_server_statistics %} -{% data variables.product.prodname_server_statistics %} can help you anticipate the needs of your organization, understand how your team works, and show the value you get from {% data variables.product.prodname_ghe_server %}. +Las {% data variables.product.prodname_server_statistics %} pueden ayudarte a anticipar las necesidades de tu organización, entender cómo funciona tu equipo y mostrarte el valor que obtienes de {% data variables.product.prodname_ghe_server %}. -Once enabled, {% data variables.product.prodname_server_statistics %} collects aggregate data on how much certain features are used on your instance over time. Unlike other [Admin Stats API](/rest/reference/enterprise-admin#admin-stats) endpoints, which only return data for the last day, {% data variables.product.prodname_server_statistics %} provides historical data of all {% data variables.product.prodname_server_statistics %} metrics collected since the day you enabled the feature. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)". +Once enabled, {% data variables.product.prodname_server_statistics %} collects aggregate data on how much certain features are used on your instance over time. A diferencia de otras terminales de la [API de estadísticas administrativas](/rest/reference/enterprise-admin#admin-stats), las cuales solo devuelven datos del último día, {% data variables.product.prodname_server_statistics %} proporciona datos históricos de todas las métricas de {% data variables.product.prodname_server_statistics %} desde el día en el que habilitaste la característica. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)". When you enable {% data variables.product.prodname_server_statistics %}, you're helping to build a better {% data variables.product.prodname_dotcom %}. The aggregated data you'll provide gives us insights into how {% data variables.product.prodname_dotcom %} adds value to our customers. This information allows {% data variables.product.company_short %} to make better and more informed product decisions, ultimately benefiting you. @@ -34,7 +34,7 @@ For a better understanding of how we store and secure {% data variables.product. ### About data retention and deletion -{% data variables.product.company_short %} collects {% data variables.product.prodname_server_statistics %} data for as long as your {% data variables.product.prodname_ghe_server %} license is active and the {% data variables.product.prodname_server_statistics %} feature is enabled. +{% data variables.product.company_short %} recopila datos de {% data variables.product.prodname_server_statistics %} durante todo el tiempo en el que tu licencia de {% data variables.product.prodname_ghe_server %} esté activa y la característica de {% data variables.product.prodname_server_statistics %} esté habilitada. If you would like to delete your data, you may do so by contacting GitHub Support, your {% data variables.product.prodname_dotcom %} account representative, or your Customer Success Manager. Generally, we delete data in the timeframe specified in our privacy statement. For more information, see [{% data variables.product.company_short %}'s privacy statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement#data-retention-and-deletion-of-data) in the {% data variables.product.prodname_dotcom_the_website %} documentation. diff --git a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md index 12e72822cf..8c045d76e0 100644 --- a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md +++ b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api.md @@ -8,8 +8,8 @@ redirect_from: - /early-access/github/analyze-how-your-team-works-with-server-statistics/requesting-server-statistics-using-the-rest-api --- -You can request up to 365 days of metrics in a single {% data variables.product.prodname_server_statistics %} REST API request. Estos datos, los cuales incluyen métricas agregadas en los repositorios, propuestas y solicitudes de cambio pueden ayudarte a anticipar las necesidades de tu organización, entender cómo funciona tu equipo y mostrarte el valor que obtienes de {% data variables.product.prodname_ghe_server %}. For a list of the metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." +You can request up to 365 days of metrics in a single {% data variables.product.prodname_server_statistics %} REST API request. Estos datos, los cuales incluyen métricas agregadas en los repositorios, propuestas y solicitudes de cambio pueden ayudarte a anticipar las necesidades de tu organización, entender cómo funciona tu equipo y mostrarte el valor que obtienes de {% data variables.product.prodname_ghe_server %}. Para encontrar una lista de las métricas recopiladas, consulta la sección "[Datos de {% data variables.product.prodname_server_statistics %} recopilados](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)". Before you can use the {% data variables.product.prodname_server_statistics %} REST API, you must enable {% data variables.product.prodname_server_statistics %}. Para obtener más información, consulta la sección "[Habilitar la {% data variables.product.prodname_server_statistics %} en tu empresa](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)". -For more information about using the REST API to request server statistics, see "[Get {% data variables.product.prodname_ghe_server %} statistics](/enterprise-cloud@latest/rest/enterprise-admin/admin-stats#get-github-enterprise-server-statistics)" in the {% data variables.product.prodname_ghe_cloud %} REST API documentation. +Para obtener más información sobre cómo utilizar la API de REST para solicitar estadísticas de servidor, consulta la sección "[Obtener estadísticas de {% data variables.product.prodname_ghe_server %}](/enterprise-cloud@latest/rest/enterprise-admin/admin-stats#get-github-enterprise-server-statistics)" en la documentación de la API de REST de {% data variables.product.prodname_ghe_cloud %}. diff --git a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md index 3167eec355..cbefb7dcff 100644 --- a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md +++ b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md @@ -256,57 +256,57 @@ El alcance de los eventos que se muestran en la bitácora de auditoría de tu em | -------------------- | ----------------------------- | | `discussion.destroy` | Se borró un debate de equipo. | -## `discussion_comment` category actions +## Acciones de la categoría `discussion_comment` -| Acción | Descripción | -| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `discussion_comment.destroy` | A [comment on a team discussion post was deleted](/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment). | -| `discussion_comment.update` | A [comment on a team discussion post was edited](/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment). | +| Acción | Descripción | +| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `discussion_comment.destroy` | [Se borró un comentario en una publicación de debate de equipo](/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment). | +| `discussion_comment.update` | [Se editó un comentario en una publicación de debate de equipo](/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment). | ## acciones de la categoría `discussion_post` -| Acción | Descripción | -| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -| `discussion_post.destroy` | A [team discussion post was deleted](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion). | -| `discussion_post.update` | A [team discussion post was edited](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion). | +| Acción | Descripción | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `discussion_post.destroy` | [Se borró una publicación de debate de equipo](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion). | +| `discussion_post.update` | [Se editó una publicación de debate de equipo](/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion). | ## acciones de la categoría `discussion_post_reply` -| Acción | Descripción | -| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `discussion_post_reply.destroy` | A [reply to a team discussion post was deleted](/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment). | -| `discussion_post_reply.update` | A [reply to a team discussion post was edited](/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment). | +| Acción | Descripción | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `discussion_post_reply.destroy` | [Se borró una respuesta a una publicación de debate de equipo](/communities/moderating-comments-and-conversations/managing-disruptive-comments#deleting-a-comment). | +| `discussion_post_reply.update` | [Se editó una respuesta a una publicación de debate de equipo](/communities/moderating-comments-and-conversations/managing-disruptive-comments#editing-a-comment). | {%- endif %} {%- ifversion ghec or ghes %} -## `dotcom_connection` category actions +## Acciones de la categoría `dotcom_connection` -| Acción | Descripción | -| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `dotcom_connection.create` | A {% data variables.product.prodname_github_connect %} connection to {% data variables.product.prodname_dotcom_the_website %} was created. | -| `dotcom_connection.destroy` | A {% data variables.product.prodname_github_connect %} connection to {% data variables.product.prodname_dotcom_the_website %} was deleted. | -| `dotcom_connection.token_updated` | The {% data variables.product.prodname_github_connect %} connection token for {% data variables.product.prodname_dotcom_the_website %} was updated. | -| `dotcom_connection.upload_license_usage` | {% data variables.product.prodname_ghe_server %} license usage was manually uploaded to {% data variables.product.prodname_ghe_cloud %}. | -| `dotcom_connection.upload_usage_metrics` | {% data variables.product.prodname_ghe_server %} usage metrics were uploaded to {% data variables.product.prodname_dotcom_the_website %}. | +| Acción | Descripción | +| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `dotcom_connection.create` | Se creó una conexión de {% data variables.product.prodname_github_connect %} al {% data variables.product.prodname_dotcom_the_website %}. | +| `dotcom_connection.destroy` | Se borró una conexión de {% data variables.product.prodname_github_connect %} al {% data variables.product.prodname_dotcom_the_website %}. | +| `dotcom_connection.token_updated` | Se actualizó el token de conexión de {% data variables.product.prodname_github_connect %} para {% data variables.product.prodname_dotcom_the_website %}. | +| `dotcom_connection.upload_license_usage` | El uso de la licencia de {% data variables.product.prodname_ghe_server %} se cargó manualmente a {% data variables.product.prodname_ghe_cloud %}. | +| `dotcom_connection.upload_usage_metrics` | Las métricas de uso de {% data variables.product.prodname_ghe_server %} se cargaron a {% data variables.product.prodname_dotcom_the_website %}. | {%- endif %} ## acciones de la categoría `enterprise` -| Acción | Descripción | -| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `enterprise.config.disable_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} disabled anonymous Git read access for repositories in the enterprise. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | -| `enterprise.config.enable_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} enabled anonymous Git read access for repositories in the enterprise. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | -| `enterprise.config.lock_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} locked anonymous Git read access to prevent repository admins from changing existing anonymous Git read access settings for repositories in the enterprise. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | -| `enterprise.config.unlock_anonymous_git_access` | An enterprise owner{% ifversion ghes %} or site administrator{% endif %} unlocked anonymous Git read access to allow repository admins to change existing anonymous Git read access settings for repositories in the enterprise. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | -| `enterprise.register_self_hosted_runner` | A new {% data variables.product.prodname_actions %} self-hosted runner was registered. Para obtener más información, consulta la sección "[Agregar un ejecutor auto-hospedado a un repositorio](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)". | -| `enterprise.remove_self_hosted_runner` | A {% data variables.product.prodname_actions %} self-hosted runner was removed. Para obtener más información, consulta la sección "[Eliminar a un ejecutor de un repositorio](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)". | -| `enterprise.runner_group_created` | A {% data variables.product.prodname_actions %} self-hosted runner group was created. Para obtener más información, consulta la sección "[Crear un grupo de ejecutores auto-hospedados para una organización](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)". | -| `enterprise.runner_group_removed` | A {% data variables.product.prodname_actions %} self-hosted runner group was removed. Para obtener más información, consulta la sección "[Eliminar un grupo de ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)". | -| `enterprise.runner_group_renamed` | A {% data variables.product.prodname_actions %} self-hosted runner group was renamed. Para obtener más información, consulta la sección "[Cambiar la política de acceso para un grupo de ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)". | -| `enterprise.runner_group_updated` | The configuration of a {% data variables.product.prodname_actions %} self-hosted runner group was changed. Para obtener más información, consulta la sección "[Cambiar la política de acceso para un grupo de ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)". | -| `enterprise.runner_group_runner_removed` | The REST API was used to remove a {% data variables.product.prodname_actions %} self-hosted runner from a group. Para obtener más información, consulta la sección "[Eliminar un ejecutor auto-hospedado de un grupo en una organización](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)". | -| `enterprise.runner_group_runners_added` | A {% data variables.product.prodname_actions %} self-hosted runner was added to a group. Para obtener más información, consulta la sección [Mover un ejecutor auto-hospedado a un grupo](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). | -| `enterprise.runner_group_runners_updated` | Se actualizó una lista de miembros de un grupo de ejecutores de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Configurar ejecutores auto-hospedados en un grupo para una organización](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)". | +| Acción | Descripción | +| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `enterprise.config.disable_anonymous_git_access` | Un propietario de empresa{% ifversion ghes %} o administrador de sitio{% endif %} inhabilitó el acceso de lectura anónima de Git para los repositorios en la empresa. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | +| `enterprise.config.enable_anonymous_git_access` | Un propietario de empresa{% ifversion ghes %} o administrador de sitio{% endif %} habilitó el acceso de lectura anónima de Git para los repositorios en la empresa. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | +| `enterprise.config.lock_anonymous_git_access` | Un propietario de empresa{% ifversion ghes %} o administrador de sitio{% endif %} bloqueó el acceso de lectura anónima de Git para prevenir que los administradores de repositorios cambien los ajustes existentes del acceso de lectura anónima de Git para los repositorios en la empresa. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | +| `enterprise.config.unlock_anonymous_git_access` | Un propietario de empresa{% ifversion ghes %} o administrador de sitio{% endif %} desbloqueó el acceso de lectura anónima de Git para permitir que los administradores de repositorio cambien los ajustes de acceso de lectura anónima de Git para los repositorios de la empresa. Para obtener más información consulta la sección "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)". | +| `enterprise.register_self_hosted_runner` | Se registró un nuevo ejecutor auto-hospedado de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Agregar un ejecutor auto-hospedado a un repositorio](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)". | +| `enterprise.remove_self_hosted_runner` | Se eliminó un ejecutor auto-hospedado de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Eliminar a un ejecutor de un repositorio](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)". | +| `enterprise.runner_group_created` | Se creó un grupo de ejecutores auto-hospedados de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Crear un grupo de ejecutores auto-hospedados para una organización](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)". | +| `enterprise.runner_group_removed` | Se eliminó un grupo de ejecutores auto-hospedados de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Eliminar un grupo de ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)". | +| `enterprise.runner_group_renamed` | Se renombró a un grupo de ejecutores auto-hospedados de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Cambiar la política de acceso para un grupo de ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)". | +| `enterprise.runner_group_updated` | Se cambió la configuración de un grupo de ejecutores auto-hospedados de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Cambiar la política de acceso para un grupo de ejecutores auto-hospedados](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)". | +| `enterprise.runner_group_runner_removed` | Se utilizó la API de REST para eliminar a un ejecutor auto-hospedado de {% data variables.product.prodname_actions %} de un grupo. Para obtener más información, consulta la sección "[Eliminar un ejecutor auto-hospedado de un grupo en una organización](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)". | +| `enterprise.runner_group_runners_added` | A {% data variables.product.prodname_actions %} self-hosted runner was added to a group. Para obtener más información, consulta la sección [Mover un ejecutor auto-hospedado a un grupo](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). | +| `enterprise.runner_group_runners_updated` | Se actualizó una lista de miembros de un grupo de ejecutores de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Configurar ejecutores auto-hospedados en un grupo para una organización](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)". | {%- ifversion ghec %} | `enterprise.runner_group_visiblity_updated` | Se actualizó la visibilidad de un grupo de ejecutores auto hospedados de {% data variables.product.prodname_actions %} a través de la API de REST. Para obtener más información, consulta la sección "[Actualizar un grupo de ejecutores auto-hospedados para una organización](/rest/reference/actions#update-a-self-hosted-runner-group-for-an-organization)". {%- endif %} @@ -882,10 +882,10 @@ Before you'll see `git` category actions, you must enable Git events in the audi | `pull_request.merge` | A pull request was merged. Para obtener más información, consulta "[Fusionar una solicitud de extracción](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request)". | | `pull_request.ready_for_review` | A pull request was marked as ready for review. Para obtener más información, consulta la sección "[Cambiar el estado de una solicitud de extracción](/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request#marking-a-pull-request-as-ready-for-review)". | | `pull_request.remove_review_request` | A review request was removed from a pull request. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | -| `pull_request.reopen` | A pull request was reopened after previously being closed. | +| `pull_request.reopen` | Se volvió a abrir una solicitud de cambios después de que se había cerrado. | | `pull_request_review.delete` | Se borró una revisión en una solicitud de cambios. | | `pull_request_review.dismiss` | Se descartó una revisión de una solicitud de cambios. Para obtener más información, consulta "[Descartar una revisión de solicitud de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)". | -| `pull_request_review.submit` | A review was submitted for a pull request. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | +| `pull_request_review.submit` | Se emitió una revisión para una solicitud de cambios. Para obtener más información, consulta la sección "[Acerca de las revisiones de las solicitudes de extracción](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)". | ## Acciones de la categoría `pull_request_review` @@ -1004,108 +1004,108 @@ Before you'll see `git` category actions, you must enable Git events in the audi | Acción | Descripción | | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `repository_secret_scanning_custom_pattern.create` | Se publicó un patrón personalizado para el escaneo de secretos en un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#defining-a-custom-pattern-for-a-repository)". | -| `repository_secret_scanning_custom_pattern.delete` | A custom pattern is removed from secret scanning in a repository. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)". | -| `repository_secret_scanning_custom_pattern.update` | Changes to a custom pattern are saved for secret scanning in a repository. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)". | +| `repository_secret_scanning_custom_pattern.delete` | Se eliminó un patrón personalizado del escaneo de secretos en un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#removing-a-custom-pattern)". | +| `repository_secret_scanning_custom_pattern.update` | Se guardan cambios a un patrón personalizado para el escaneo de secretos en un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning#editing-a-custom-pattern)". | ## Acciones de la categoría `repository_secret_scanning_push_protection` -| Acción | Descripción | -| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `repository_secret_scanning_push_protection.disable` | A repository owner or administrator disabled secret scanning for a repository. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | -| `repository_secret_scanning_push_protection.enable` | A repository owner or administrator enabled secret scanning for a repository. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | +| Acción | Descripción | +| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `repository_secret_scanning_push_protection.disable` | Un propietario o administrador de repositorio inhabilitó el escaneo de secretos para un repositorio. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | +| `repository_secret_scanning_push_protection.enable` | Un propietario o administrador de repositorio habilitó el escaneo de secretos para un repositorio. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". | {%- endif %} -## `repository_visibility_change` category actions +## Acciones de la categoría `repository_visibility_change` -| Acción | Descripción | -| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `repository_visibility_change.clear` | The repository visibility change setting was cleared for an organization or enterprise. Para obtener más información, consulta las secciones "[restringir los cambios de visibilidad de los repositorios en tu organización](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)" y "[requerir una política para los cambios en la visibilidad de un repositorio](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-changes-to-repository-visibility) para una empresa". | -| `repository_visibility_change.disable` | The ability for enterprise members to update a repository's visibility was disabled. Members are unable to change repository visibilities in an organization, or all organizations in an enterprise. | -| `repository_visibility_change.enable` | The ability for enterprise members to update a repository's visibility was enabled. Members are able to change repository visibilities in an organization, or all organizations in an enterprise. | +| Acción | Descripción | +| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `repository_visibility_change.clear` | El ajuste de cambio de visibilidad de repositorio se autorizó para una organización o empresa. Para obtener más información, consulta las secciones "[restringir los cambios de visibilidad de los repositorios en tu organización](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)" y "[requerir una política para los cambios en la visibilidad de un repositorio](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-changes-to-repository-visibility) para una empresa". | +| `repository_visibility_change.disable` | Se inhabilitó la capacidad para que los miembros de la empresa actualicen la visibilidad de un repositorio. Los miembros no pueden cambiar las visibilidades de los repositorios en una organización o en todas las organizaciones de una empresa. | +| `repository_visibility_change.enable` | Se habilitó la capacidad de los miembros de una empresa para actualizar la visibilidad de un repositorio. Los miembros pueden cambiar las visibilidades de un repositorio en una organización o en todas las organizaciones de una empresa. | ## acciones de la categoría `repository_vulnerability_alert` | Acción | Descripción | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `repository_vulnerability_alert.create` | {% data variables.product.product_name %} created a {% data variables.product.prodname_dependabot %} alert for a repository that uses an insecure dependency. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". | -| `repository_vulnerability_alert.dismiss` | An organization owner or repository administrator dismissed a {% data variables.product.prodname_dependabot %} alert about a vulnerable dependency{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %}. | -| `repository_vulnerability_alert.resolve` | Someone with write access to a repository pushed changes to update and resolve a {% data variables.product.prodname_dependabot %} alert in a project dependency. | +| `repository_vulnerability_alert.create` | {% data variables.product.product_name %} creó una {% data variables.product.prodname_dependabot %} para un repositorio que utiliza una dependencia insegura. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". | +| `repository_vulnerability_alert.dismiss` | Un propietario de organización o administrador de repositorio descartó una alerta de {% data variables.product.prodname_dependabot %} sobre una dependencia vulnerable{% ifversion GH-advisory-db-supports-malware %} o malware{% endif %}. | +| `repository_vulnerability_alert.resolve` | Alguien con acceso de escritura a un repositorio subió cambios para actualizar y resolver una alerta de {% data variables.product.prodname_dependabot %} en una dependencia de proyecto. | {%- ifversion fpt or ghec %} ## acciones de la categoría `repository_vulnerability_alerts` -| Acción | Descripción | -| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `repository_vulnerability_alerts.authorized_users_teams` | An organization owner or repository administrator updated the list of people or teams authorized to receive {% data variables.product.prodname_dependabot_alerts %} for the repository. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)". | -| `repository_vulnerability_alerts.disable` | A repository owner or repository administrator disabled {% data variables.product.prodname_dependabot_alerts %}. | -| `repository_vulnerability_alerts.enable` | A repository owner or repository administrator enabled {% data variables.product.prodname_dependabot_alerts %}. | +| Acción | Descripción | +| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `repository_vulnerability_alerts.authorized_users_teams` | Un propietario de organización o administrador de repositorio actualizó la lista de personas o equipos autorizados para recibir {% data variables.product.prodname_dependabot_alerts %} para el repositorio. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)". | +| `repository_vulnerability_alerts.disable` | Un propietario o administrador de repositorio inhabilitó las {% data variables.product.prodname_dependabot_alerts %}. | +| `repository_vulnerability_alerts.enable` | Un propietario o administrador de repositorio habilitó las {% data variables.product.prodname_dependabot_alerts %}. | {%- endif %} -## `required_status_check` category actions +## Acciones de la categoría `required_status_check` -| Acción | Descripción | -| ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `required_status_check.create` | A status check was marked as required for a protected branch. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | -| `required_status_check.destroy` | A status check was no longer marked as required for a protected branch. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | +| Acción | Descripción | +| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `required_status_check.create` | Se marcó una verificación de estado como requerida para una rama potencial. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | +| `required_status_check.destroy` | Se dejó de marcar una verificación de estado como requerida para una rama protegida. Para obtener más información, consulta la sección "[Requerir verificaciones de estado antes de la fusión](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-status-checks-before-merging)". | {%- ifversion ghec or ghes %} -## `restrict_notification_delivery` category actions +## Acciones de la categoría `restrict_notification_delivery` -| Acción | Descripción | -| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `restrict_notification_delivery.enable` | Email notification restrictions for an organization or enterprise were enabled. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | -| `restrict_notification_delivery.disable` | Email notification restrictions for an organization or enterprise were disabled. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | +| Acción | Descripción | +| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `restrict_notification_delivery.enable` | Se habilitaron las restricciones para las notificaciones de correo electrónico para una organización o empresa. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | +| `restrict_notification_delivery.disable` | Se inhabilitaron las restricciones de notificación por correo electrónico para una organización o empresa. Para obtener más información, consulta las secciones "[Restringir las notificaciones de correo electrónico de tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/restricting-email-notifications-for-your-organization)" y "[Restringir las notificaciones de correo electrónico para tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise)". | {%- endif %} {%- ifversion custom-repository-roles %} ## Acciones de la categoría `role` -| Acción | Descripción | -| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `create (crear)` | An organization owner created a new custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | -| `destroy (destruir)` | An organization owner deleted a custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | -| `actualización` | An organization owner edited an existing custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| Acción | Descripción | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `create (crear)` | El propietario de una organización creó un nuevo rol personalizado para un repositorio. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| `destroy (destruir)` | Un propietario de organización borró un rol de repositorio personalizado. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| `actualización` | Un propietario de organización editó un rol personalizado de un repositorio existente. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | {%- endif %} {%- ifversion ghec or ghes or ghae %} ## Acciones de la categoría `secret_scanning` -| Acción | Descripción | -| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `secret_scanning.disable` | An organization owner disabled secret scanning for all existing{% ifversion ghec %} private or internal{% endif %} repositories. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | -| `secret_scanning.enable` | An organization owner enabled secret scanning for all existing{% ifversion ghec %} private or internal{% endif %} repositories. | +| Acción | Descripción | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `secret_scanning.disable` | Un propietario de organización inhabilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %} existentes. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | +| `secret_scanning.enable` | Un propietario de una organización habilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %}. | {% ifversion secret-scanning-alert-audit-log %} ## Acciones de la categoría `secret_scanning_alert` -| Acción | Descripción | -| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `secret_scanning_alert.create` | {% data variables.product.prodname_dotcom %} detected a secret and created a {% data variables.product.prodname_secret_scanning %} alert. Para obtener más información, consulta la sección "[Administrar las alertas de {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/managing-alerts-from-secret-scanning)". | -| `secret_scanning_alert.reopen` | A user reopened a {% data variables.product.prodname_secret_scanning %} alert. | -| `secret_scanning_alert.resolve` | A user resolved a {% data variables.product.prodname_secret_scanning %} alert. | +| Acción | Descripción | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `secret_scanning_alert.create` | {% data variables.product.prodname_dotcom %} detectó un secreto y creó una alerta del {% data variables.product.prodname_secret_scanning %}. Para obtener más información, consulta la sección "[Administrar las alertas de {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/managing-alerts-from-secret-scanning)". | +| `secret_scanning_alert.reopen` | Un usuario volvió a abrir una alerta del {% data variables.product.prodname_secret_scanning %}. | +| `secret_scanning_alert.resolve` | Un usuario resolvió una alerta del {% data variables.product.prodname_secret_scanning %}. | {% endif %} ## Acciones de la categoría `secret_scanning_new_repos` -| Acción | Descripción | -| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `secret_scanning_new_repos.disable` | An organization owner disabled secret scanning for all new{% ifversion ghec %} private or internal{% endif %} repositories. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | -| `secret_scanning_new_repos.enable` | An organization owner enabled secret scanning for all new{% ifversion ghec %} private or internal{% endif %} repositories. | +| Acción | Descripción | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `secret_scanning_new_repos.disable` | Un propietario de organización inhabilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %} existentes. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | +| `secret_scanning_new_repos.enable` | Un propietario de organización habilitó el escaneo de secretos para todos los repositorios {% ifversion ghec %} privados o internos{% endif %} nuevos. | {%- endif %} {% ifversion secret-scanning-push-protection-bypasses %} ## Acciones de la categoría `secret_scanning_push_protection` -| Acción | Descripción | -| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `bypass` | Se activa cuando un usuario omite la protección de subida en un secreto que detectó el escaneo de secretos. For more information, see "[Bypassing push protection for a secret](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)."{% endif %} +| Acción | Descripción | +| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `bypass` | Se activa cuando un usuario omite la protección de subida en un secreto que detectó el escaneo de secretos. Para obtener más información, consulta la sección "[Omitir la protección contra subida de información para un secreto](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)".{% endif %} {%- ifversion ghec or ghes or ghae %} -## `security_key` category actions +## Acciones de la categoría `security_key` -| Acción | Descripción | -| ----------------------- | ------------------------------------------------ | -| `security_key.register` | A security key was registered for an account. | -| `security_key.remove` | Se eliminó una llave de seguridad de una cuenta. | +| Acción | Descripción | +| ----------------------- | --------------------------------------------------- | +| `security_key.register` | Se registró una llave de seguridad para una cuenta. | +| `security_key.remove` | Se eliminó una llave de seguridad de una cuenta. | {%- endif %} {%- ifversion fpt or ghec %} @@ -1186,24 +1186,24 @@ Before you'll see `git` category actions, you must enable Git events in the audi {%- ifversion ghec or ghes or ghae %} | `team.demote_maintainer` | Se bajó de categoría a un usuario de mantenedor de equipo a miembro de equipo. | `team.promote_maintainer` | Se promovió a un usuario de miembro a mantenedor de equipo. Para obtener más información, consulta la sección "[Promover a un miembro de la organización a mantenedor de equipo](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member#promoting-an-organization-member-to-team-maintainer)". {%- endif %} -| `team.remove_member` | Se eliminó a un miembro de una organización de un equipo. For more information, see "[Removing organization members from a team](/organizations/organizing-members-into-teams/removing-organization-members-from-a-team)." | `team.remove_repository` | A repository was no longer under a team's control. | `team.rename` | A team's name was changed. | `team.update_permission` | A team's access was changed. | `team.update_repository_permission` | A team's permission to a repository was changed. +| `team.remove_member` | Se eliminó a un miembro de una organización de un equipo. Para obtener más información, consulta la sección "[Eliminar miembros organizacionales de un equipo](/organizations/organizing-members-into-teams/removing-organization-members-from-a-team)". | `team.remove_repository` | Un repositorio dejó de estar bajo el control de un equipo. | `team.rename` | Se cambió el nombre de un equipo. | `team.update_permission` | Se cambió el acceso de un equipo. | `team.update_repository_permission` | Se cambió el permiso de un equipo para un repositorio. ## acciones de la categoría `team_discussions` -| Acción | Descripción | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `team_discussions.clear` | An organization owner cleared the setting to allow team discussions for an organization or enterprise. | -| `team_discussions.disable` | An organization owner disabled team discussions for an organization. Para obtener más información, consulta "[Desactivar los debates del equipo para tu organización](/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization)". | -| `team_discussions.enable` | An organization owner enabled team discussions for an organization. | +| Acción | Descripción | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `team_discussions.clear` | Un propietario de una organización autorizó el ajuste para permitir debates de equipo para una organización o empresa. | +| `team_discussions.disable` | Un propietario de organización inhabilitó los debates de equipo para una organización. Para obtener más información, consulta "[Desactivar los debates del equipo para tu organización](/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization)". | +| `team_discussions.enable` | Un propietario de organización habilitó los debates de equipo para una organización. | {%- ifversion ghec %} -## `team_sync_tenant` category actions +## Acciones de la categoría `team_sync_tenant` -| Acción | Descripción | -| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `team_sync_tenant.disabled` | Team synchronization with a tenant was disabled. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | -| `team_sync_tenant.enabled` | Team synchronization with a tenant was enabled. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | -| `team_sync_tenant.update_okta_credentials` | The Okta credentials for team synchronization with a tenant were changed. | +| Acción | Descripción | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `team_sync_tenant.disabled` | Se inhabilitó la sincronización de equipos con un inquilino. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | +| `team_sync_tenant.enabled` | Team synchronization with a tenant was enabled. Para obtener más información, consulta las secciones "[Administrar la sincronización de equipos para tu organización](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" y "[Administrar la sincronización de equipos para las organizaciones en tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise)". | +| `team_sync_tenant.update_okta_credentials` | The Okta credentials for team synchronization with a tenant were changed. | {%- endif %} {%- ifversion fpt or ghes %} diff --git a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md index 558a5cb068..cda38b616c 100644 --- a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md +++ b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise.md @@ -24,7 +24,7 @@ If you choose to display IP addresses, the IP addresses only appear in your ente You can display IP addresses in the audit log regardless of which authentication method you use for your enterprise on {% data variables.product.product_location %}. Para obtener más información, consulta la sección "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)". -When anyone creates an account on {% data variables.product.product_location %}, the person agrees to {% data variables.product.company_short %}'s collection of basic information about connections to {% data variables.product.company_short %}'s services, including source IP address. For more information, see "[GitHub Privacy Statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement#usage-information)." +Cuando alguien crea una cuenta en {% data variables.product.product_location %}, la persona está de acuerdo en que {% data variables.product.company_short %} recopile información básica sobre las conexiones con los servicios de {% data variables.product.company_short %}, incluyendo las direcciones IP de origen. For more information, see "[GitHub Privacy Statement](/free-pro-team@latest/site-policy/privacy-policies/github-privacy-statement#usage-information)." ## Events that display IP addresses in the audit log diff --git a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md index 9c829d511b..0ecc3ec98d 100644 --- a/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md +++ b/translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -44,7 +44,8 @@ Puedes configurar la transmisión de bitácoras de auditoría en {% data variabl - [Amazon S3](#setting-up-streaming-to-amazon-s3) - [Almacenamiento de Blobs de Azure](#setting-up-streaming-to-azure-blob-storage) -- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs) +- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs){% ifversion streaming-datadog %} +- [Datadog](#setting-up-streaming-to-datadog){% endif %} - [Google Cloud Storage](#setting-up-streaming-to-google-cloud-storage) - [Splunk](#setting-up-streaming-to-splunk) @@ -60,7 +61,7 @@ Puedes configurar la transmisión de S3 con claves de acceso o, para evitar el a #### Configurar la transmisión a S3 con llaves de acceso {% endif %} -Para transmitir bitácoras de auditoría a la terminal de Amazon S3, debes tener un bucket y llaves de acceso. Para obtener más información, consulta la sección [Crear, configurar y trabajar con los buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) en la documentación de AWS. Asegúrate de bloquear el acceso público al bucket para proteger la información de tu bitácora de auditoría. +Para transmitir bitácoras de auditoría a la terminal de Amazon S3, debes tener un bucket y llaves de acceso. Para obtener más información, consulta la sección "[Crear, configurar y trabajar con buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) en la documentación de AWS. Asegúrate de bloquear el acceso público al bucket para proteger la información de tu bitácora de auditoría. Para configurar la transmisión de bitácora de auditoría desde {% data variables.product.prodname_dotcom %}, necesitarás: * El nombrede tu bucket de Amazon S3 @@ -87,7 +88,7 @@ Para obtener más información sobre cómo crear o acceder a tu ID de llave de a {% note %} -**Note:** Streaming to Amazon S3 with OpenID Connect is currently in beta and subject to change. +**Nota:** La transmisión a Amazon S3 con OpenID Connect se encuentra actualmente en beta y está sujeta a cambios. {% endnote %} @@ -231,6 +232,32 @@ Necesitas dos partes de información sobre tu concentrador de eventos: su nombre {% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +{% ifversion streaming-datadog %} +### Setting up streaming to Datadog + +To set up streaming to Datadog, you must create a client token or an API key in Datadog, then configure audit log streaming in {% data variables.product.product_name %} using the token for authentication. You do not need to create a bucket or other storage container in Datadog. + +After you set up streaming to Datadog, you can see your audit log data by filtering by "github.audit.streaming." For more information, see [Log Management](https://docs.datadoghq.com/logs/). + +1. If you don't already have a Datadog account, create one. +1. In Datadog, generate a client token or an API key, then click **Copy key**. For more information, see [API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) in Datadog Docs. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the **Configure stream** dropdown menu and click **Datadog**. + + ![Screenshot of the "Configure stream" dropdown menu with "Datadog" highlighted](/assets/images/help/enterprises/audit-stream-choice-datadog.png) +1. Under "Token", paste the token you copied earlier. + + ![Screenshot of the "Token" field](/assets/images/help/enterprises/audit-stream-datadog-token.png) +1. Select the "Site" dropdown menu and click your Datadog site. To determine your Datadog site, compare your Datadog URL to the table in [Datadog sites](https://docs.datadoghq.com/getting_started/site/) in Datadog Docs. + + ![Screenshot of the "Site" dropdown menu](/assets/images/help/enterprises/audit-stream-datadog-site.png) +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Datadog endpoint, click **Check endpoint**. + + ![Verificar la terminal](/assets/images/help/enterprises/audit-stream-check.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +1. After a few minutes, confirm that audit log data is appearing on the **Logs** tab in Datadog. If audit log data is not appearing, confirm that your token and site are correct in {% data variables.product.prodname_dotcom %}. +{% endif %} + ### Configurar la transmisión para Google Cloud Storage Para configurar la transmisión al Almacenamiento de Google Cloud, debes crear una cuenta de servicio en Google Cloud con las credenciales y permisos adecuados y luego configurar la transmisión de bitácoras de auditoría en {% data variables.product.product_name %} utilizando las credenciales de la cuenta de servicio para la autenticación. @@ -265,7 +292,7 @@ Para transmitir bitácoras de auditoría a la terminal del Recolector de Eventos {% data reusables.enterprise.navigate-to-log-streaming-tab %} 1. Haz clic en **Configurar transmisión** y selecciona **Splunk**. - ![Elige Splunk desde el menú desplegable](/assets/images/help/enterprises/audit-stream-choice-splunk.png) + ![Elegir Splunk del menú desplegable](/assets/images/help/enterprises/audit-stream-choice-splunk.png) 1. En la página de configuración, ingresa: * El dominio en el cual se hospeda la aplicación que quieres transmitir. @@ -291,6 +318,10 @@ Para transmitir bitácoras de auditoría a la terminal del Recolector de Eventos El pausar la transmisión te permite realizar el mantenimiento de la aplicación receptora sin perder datos de auditoría. Las bitácoras de auditoría se almacenan por hasta siete días en {% data variables.product.product_location %} y luego se exportan cuando dejas de pausar la transmisión. +{% ifversion streaming-datadog %} +Datadog only accepts logs from up to 18 hours in the past. If you pause a stream to a Datadog endpoint for more than 18 hours, you risk losing logs that Datadog won't accept after you resume streaming. +{% endif %} + {% data reusables.enterprise.navigate-to-log-streaming-tab %} 1. Haz clic en **Pausar transmisión**. diff --git a/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 b/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 index bef9fa7faf..88353b1292 100644 --- a/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 +++ b/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 @@ -121,7 +121,7 @@ Para obtener más información sobre la API de REST de la bitácora de auditorí La siguiente consulta busca los eventos de la bitácora de auditoría que se crearon el 1 de enero de 2022 en la empresa `avocado-corp` y devolvió la primera página con un máximo de 100 elementos por página utilizando la [Paginación de la API de REST](/rest/overview/resources-in-the-rest-api#pagination): ```shell -curl -H "Authorization: token TOKEN" \ +curl -H "Authorization: Bearer TOKEN" \ --request GET \ "https://api.github.com/enterprises/avocado-corp/audit-log?phrase=created:2022-01-01&page=1&per_page=100" ``` @@ -133,7 +133,7 @@ Puedes especificar frases de búsqueda múltiples, tales como `created` y `actor La siguiente consulta busca los eventos de bitácora de auditoría para las solicitudes de cambios, en donde el evento ocurrió en o después del 1 de enero de 2022 en la empresa `avocado-corp` y el usuario `octocat` realizó la acción: ```shell -curl -H "Authorization: token TOKEN" \ +curl -H "Authorization: Bearer TOKEN" \ --request GET \ "https://api.github.com/enterprises/avocado-corp/audit-log?phrase=action:pull_request+created:>=2022-01-01+actor:octocat" ``` diff --git a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index b1ed91a0ce..75b2044c67 100644 --- a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -79,12 +79,17 @@ You can also configure allowed IP addresses for an individual organization. For ### Adding an allowed IP address +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ### Allowing access by {% data variables.product.prodname_github_apps %} @@ -92,6 +97,8 @@ You can also configure allowed IP addresses for an individual organization. For ### Enabling allowed IP addresses +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -101,6 +108,8 @@ You can also configure allowed IP addresses for an individual organization. For ### Editing an allowed IP address +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -108,6 +117,18 @@ You can also configure allowed IP addresses for an individual organization. For {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Click **Update**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +### Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ### Deleting an allowed IP address diff --git a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 9907694777..ebe7c2bde5 100644 --- a/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/translations/es-ES/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -71,24 +71,28 @@ Si un propietario de empresa deja de permitir que los miembros de ésta creen ci {% endif %} -## Requerir una política para los permisos {% ifversion ghec or ghes or ghae %}base{% else %}predeterminados{% endif %} del repositorio +## Enforcing a policy for base repository permissions -En todas las organizaciones que pertenezcan a tu empresa, puedes configurar un nivel de permisos {% ifversion ghec or ghes or ghae %}base{% else %}predeterminado{% endif %} de los repositorios (ninguno, lectura, escritura o administración) para los miembros organizacionales o permitir que los propietarios administren el ajuste a nivel de organización. +Across all organizations owned by your enterprise, you can set a base repository permission level (none, read, write, or admin) for organization members, or allow owners to administer the setting on the organization level. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -4. Debajo de "permisos {% ifversion ghec or ghes or ghae %}base{% else %}predeterminados{% endif %}", revisa la información sobre cómo cambiar el ajuste. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -5. Debajo de "Permisos{% ifversion ghec or ghes or ghae %}base{% else %}predeterminados{% endif %}", utiliza el menú desplegable y elige una política. - {% ifversion ghec or ghes or ghae %} - ![Menú desplegable con opciones de políticas de permisos de repositorios](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) - {% else %} - ![Menú desplegable con opciones de políticas de permisos de repositorios](/assets/images/enterprise/business-accounts/repository-permissions-policy-drop-down.png) - {% endif %} +4. Under "Base permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. En "Permisos base", usa el menú desplegable y elige una política. ![Menú desplegable con opciones de políticas de permisos de repositorios](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + ## Requerir una política para la creación de repositorios -En todas las organizaciones que le pertenecen a tu empresa, puedes permitir que los miembros creen repositorios, restringir la creación de repositorios para los propietarios de la organización o permitir que los propietarios administren los ajustes en el nivel de la organización. Si permites que los miembros creen repositorios, puedes decidir si pueden crear cualquier combinación de repositorios públicos, privados e internos. {% data reusables.repositories.internal-repo-default %} Para obtener más información acerca de los repositorios internos, consulta "[Crear un repositorio interno](/articles/creating-an-internal-repository)". +En todas las organizaciones que le pertenecen a tu empresa, puedes permitir que los miembros creen repositorios, restringir la creación de repositorios para los propietarios de la organización o permitir que los propietarios administren los ajustes en el nivel de la organización. + +If you allow members to create repositories in your organizations, you can choose which types of repositories (public, private, and internal) that members can create. + +{% ifversion enterprise-namespace-repo-setting %} +{% ifversion ghec %}If your enterprise uses {% data variables.product.prodname_emus %}, you{% else %}You{% endif %} can also prevent users from creating repositories owned by their user accounts. +{% endif %} + +{% data reusables.repositories.internal-repo-default %} Para obtener más información acerca de los repositorios internos, consulta "[Crear un repositorio interno](/articles/creating-an-internal-repository)". {% data reusables.organizations.repo-creation-constants %} @@ -96,33 +100,32 @@ En todas las organizaciones que le pertenecen a tu empresa, puedes permitir que {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. En "Creación de repositorio", revisa la información sobre cómo modificar los parámetros. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% ifversion ghes or ghae or ghec %} {% data reusables.enterprise-accounts.repo-creation-policy %} -{% data reusables.enterprise-accounts.repo-creation-types %} -{% else %} -6. En "Creación de repositorios", usa el menú desplegable y elige una política. - - ![Menú desplegable con políticas para creación de repositorio](/assets/images/enterprise/site-admin-settings/repository-creation-drop-down.png) -{% endif %} +{% data reusables.enterprise-accounts.repo-creation-types %}{% ifversion enterprise-namespace-repo-setting %} +1. Optionally, {% ifversion ghec %}if your enterprise uses {% data variables.product.prodname_emus %} and you want {% endif %}to prevent enterprise members from creating repositories owned by their user accounts, select **Block the creation of user namespace repositories**. ![Screenshot showing the list of disabled options from forking policy](/assets/images/help/business-accounts/restrict-personal-namespace-enabled-setting.png){% endif %} ## Requerir una política para bifurcar repositorios privados o internos En todas las organizaciones que pertenezcan a tu empresa, puedes permitir o prohibir la bifurcación de un repositorio privado o interno o permitir a los propietarios administrar la configuración a nivel organizacional para todos los que tengan acceso a éstos. +{% ifversion enterprise-namespace-repo-setting %} +{% note %} + +**Nota:** Si {% ifversion ghec %}tu empresa utiliza {% data variables.product.prodname_emus %} y {% endif %} tu política de "Creación de repositorios" previene que los miembros de las empresas creen repositorios que le pertenezcan a sus cuentas de usuario, no se permitirá que dichos miembros bifurquen un repositorio en sus cuentas de usuario, sin importar tu política de "Bifurcación de repositorios". + +{% endnote %} +{% endif %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 3. Debajo de "Bifurcación de repositorios", revisa la información sobre cómo cambiar el ajuste. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} 4. En "Bifurcación de repositorios", usa el menú desplegable y elige una política. - ![Menú desplegable con opciones de políticas de bifurcación de repositorios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png) - -{% ifversion innersource-fork-policies %} + ![Menú desplegable con opciones de políticas de bifurcación de repositorios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} 5. Si se habilita la bifurcación, puedes especificar en dónde se permite que los usuarios bifurquen repositorios. Revisa la información sobre cómo cambiar el ajuste y elige una política. - ![Captura de pantalla que muestra la lista de opciones de políticas para bifurcar repositorios](/assets/images/help/business-accounts/repository-forking-policy-settings.png) -{% endif %} - + ![Captura de pantalla que muestra la lista de opciones de políticas para bifurcar repositorios](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} ## Requerir una política para invitar colaboradores{% ifversion ghec %} externos{% endif %} a los repositorios @@ -140,8 +143,6 @@ En todas las organizaciones que pertenezcan a tu empresa, puedes permitir que lo ![Menú desplegable con opciones de política de invitación](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) {% endif %} -{% ifversion ghec or ghes or ghae %} - ## Requerir una política para el nombre de rama predeterminada Puedes configurar el nombre de rama predeterminada para cualquier repositorio miembro que creen los miembros en todas las organizaciones que pertenezcan a tu empresa. Puedes elegir el requerir un nombre de rama predeterminado a través de todas las organizaciones o permitir a algunas configurar un nombre diferente. @@ -152,8 +153,6 @@ Puedes configurar el nombre de rama predeterminada para cualquier repositorio mi 4. Opcionalmente, para requerir el nombre de rama predeterminado para todas las organizaciones en la empresa, selecciona **Requerir en toda la empresa**. ![Casilla de requerir](/assets/images/help/business-accounts/default-branch-name-enforce.png) 5. Da clic en **Actualizar**. ![Botón de actualizar](/assets/images/help/business-accounts/default-branch-name-update.png) -{% endif %} - ## Requerir una política para los cambios a la visibilidad del repositorio En todas las organizaciones que pertenezcan a tu empresa, puedes permitir que los miembros con acceso administrativo cambien la visibilidad de un repositorio, restrinjan los cambios de visibilidad del mismo a los propietarios de la organización o que permitan que los propietarios administren el ajuste a nivel organizacional. Cuando no permites que los miembros cambien la visibilidad del repositroio, únicamente los propietarios de la empresa podrán hacerlo. @@ -163,9 +162,8 @@ Si un propietario de empresa restringió la creación de repositorios en la mism {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -5. En "Modificar visibilidad del repositorio", revisa la información sobre cómo modificar los parámetros. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} - -{% data reusables.enterprise-accounts.repository-visibility-policy %} +1. En "Modificar visibilidad del repositorio", revisa la información sobre cómo modificar los parámetros. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. Debajo de "Repository visibility change" (Cambio de visibilidad de repositorios), usa el menú desplegable y elige una política. ![Menú desplegable con opciones de políticas de visibilidad de repositorios](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) ## Requerir una política para el borrado y transferencia de repositorios diff --git a/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md b/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md index 77c7fffea0..d3757186db 100644 --- a/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md +++ b/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md @@ -44,7 +44,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * A [list of the repositories](/free-pro-team@latest/rest/repos#list-organization-repositories) you want to migrate: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -X POST \ -H "Accept: application/vnd.github+json" \ -d'{"lock_repositories":true,"repositories":["orgname/reponame", "orgname/reponame"]}' \ @@ -59,7 +59,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * The unique `id` of the migration: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ https://api.github.com/orgs/orgname/migrations/id ``` @@ -74,7 +74,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * The unique `id` of the migration: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ -L -o migration_archive.tar.gz \ https://api.github.com/orgs/orgname/migrations/id/archive @@ -84,7 +84,7 @@ The Migrations API is currently in a preview period, which means that the endpoi * Your access token for authentication. * The unique `id` of the migration: ```shell - curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \ + curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" \ -X DELETE \ -H "Accept: application/vnd.github+json" \ https://api.github.com/orgs/orgname/migrations/id/archive diff --git a/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md b/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md index cc184c3ab8..2e0d4117ff 100644 --- a/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md +++ b/translations/es-ES/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md @@ -134,7 +134,7 @@ Para desbloquear los repositorios en una organización{% data variables.product. * El `id` único de la migración * El nombre del repositorio a desbloquear ```shell -curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ +curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \ -H "Accept: application/vnd.github.wyandotte-preview+json" \ https://api.github.com/orgs/orgname/migrations/id/repos/repo_name/lock ``` @@ -143,7 +143,7 @@ curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ Después de desbloquear los repositorios de organización de {% data variables.product.prodname_dotcom_the_website %} deberás borrar todos los repositorios que migraste previamente utilizando [la terminal de borrado de repositorios](/rest/repos/#delete-a-repository). Necesitarás tu token de acceso para la autenticación: ```shell -curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \ +curl -H "Authorization: Bearer GITHUB_ACCESS_TOKEN" -X DELETE \ https://api.github.com/repos/orgname/repo_name ``` diff --git a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 55caa8e709..1a3f28d82a 100644 --- a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -1,6 +1,6 @@ --- title: Acerca de SSH -intro: 'Usando el protocolo SSH, te puedes conectar y autenticar con servicios y servidores remotos. Con las llaves SSH puedes conectarte a {% data variables.product.product_name %} sin proporcionar tu nombre de usuario y token de acceso personal en cada visita.' +intro: 'Usando el protocolo SSH, te puedes conectar y autenticar con servicios y servidores remotos. With SSH keys, you can connect to {% data variables.product.product_name %} without supplying your username and personal access token at each visit.{% ifversion ssh-commit-verification %} You can also use an SSH key to sign commits.{% endif %}' redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh @@ -16,7 +16,7 @@ topics: {% data reusables.ssh.about-ssh %} Para obtener más información sobre SSH, consulta la página de [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) en Wikipedia. -Cuando configuras SSH, necesitarás generar una llave SSH privada nueva y agregarla al agente SSH. También debes agregar la llave SSH pública a tu cuenta en {% data variables.product.product_name %} antes de que utilices la llave para autenticarte. Para obtener más información, consulta las secciones "[Generar una llave SSH nueva y agregarla al ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)" y "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)". +Cuando configuras SSH, necesitarás generar una llave SSH privada nueva y agregarla al agente SSH. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. Para obtener más información, consulta las secciones "[Generar una llave SSH nueva y agregarla al ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %}y{% endif %} "[Agregar una llave SSH nueva a tu cuenta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" y "[Acerca de la verificación de firmas de confirmación](/articles/about-commit-signature-verification){% endif %}". Puedes asegurar tu llave SSH aún más si utilizas una llave de seguridad de hardware, la cual requiere que esta última se conecte físicamente a tu computadora cuando se utilice el par de llaves para autenticarte con SSH. También puedes asegurar tu llave SSH si la agregas al ssh-agent y utiliza una contraseña. Para obtener más información, consulta la sección "[Trabajar con frases de acceso con llave SSH](/github/authenticating-to-github/working-with-ssh-key-passphrases)". @@ -33,7 +33,6 @@ Las organizaciones que utilizan {% data variables.product.prodname_ghe_cloud %} {% else ghec or ghes or ghae %} Si eres miembro de una organización que provee certificados SSH, puedes usar tu certificado para acceder a los repositorios de esa organización sin agregar el certificado a tu cuenta de {% data variables.product.product_name %}. No puedes utilizar tu certificado para acceder a las bifurcaciones de los repositorios de la organización si estas bifurcaciones le pertenecen a tu cuenta personal. Para obtener más información, consulta la sección [Acerca de las autoridades de certificados SSH](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)". {% endif %} - ## Leer más - "[Solucionar problemas de SSH](/articles/troubleshooting-ssh)" diff --git a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index 0d0d83bc2c..a4569d589d 100644 --- a/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/translations/es-ES/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -19,6 +19,8 @@ shortTitle: Add a new SSH key {% data reusables.ssh.about-ssh %} For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)." +{% ifversion ssh-commit-verification %}You can also use SSH to sign commits and tags. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)."{% endif %} + After you generate an SSH key pair, you must add the public key to {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable SSH access for your account. ## Prerequisites @@ -30,120 +32,46 @@ Before adding a new SSH key to your account on {% ifversion ghae %}{% data varia ## Adding a new SSH key to your account -After adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. For more information, see "[Switching remote URLs from HTTPS to SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)." +After adding a new SSH authentication key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. For more information, see "[Switching remote URLs from HTTPS to SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)." {% data reusables.ssh.key-type-support %} -{% mac %} - {% webui %} -1. Copy the SSH public key to your clipboard. - - If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace. - - ```shell - $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Tip:** If `pbcopy` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - +{% data reusables.gpg.copy-ssh-public-key %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.ssh %} 4. Click **New SSH key** or **Add SSH key**. +{% ifversion ssh-commit-verification %} + ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key-with-auth.png) +{% else %} ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key.png) -5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". -6. Paste your key into the "Key" field. +{% endif %} +5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal laptop, you might call this key "Personal laptop". +{% ifversion ssh-commit-verification %} +6. Select the type of key, either authentication or signing. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)." +{% endif %} +7. Paste your key into the "Key" field. +{% ifversion ssh-commit-verification %} + ![The key field](/assets/images/help/settings/ssh-key-paste-with-type.png) +{% else %} ![The key field](/assets/images/help/settings/ssh-key-paste.png) -7. Click **Add SSH key**. +{% endif %} +8. Click **Add SSH key**. ![The Add key button](/assets/images/help/settings/ssh-add-key.png) {% data reusables.user-settings.sudo-mode-popup %} {% endwebui %} -{% endmac %} - -{% windows %} - -{% webui %} - -1. Copy the SSH public key to your clipboard. - - If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace. - - ```shell - $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Tip:** If `clip` isn't working, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Click **New SSH key** or **Add SSH key**. - ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key.png) -5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". -6. Paste your key into the "Key" field. - ![The key field](/assets/images/help/settings/ssh-key-paste.png) -7. Click **Add SSH key**. - ![The Add key button](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endwindows %} - -{% linux %} - -{% webui %} - -1. Copy the SSH public key to your clipboard. - - If your SSH public key file has a different name than the example code, modify the filename to match your current setup. When copying your key, don't add any newlines or whitespace. - - ```shell - $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file - # displayed in the terminal to your clipboard - ``` - - {% tip %} - - **Tip:** Alternatively, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Click **New SSH key** or **Add SSH key**. - ![SSH Key button](/assets/images/help/settings/ssh-add-ssh-key.png) -5. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal Mac, you might call this key "Personal MacBook Air". -6. Paste your key into the "Key" field. - ![The key field](/assets/images/help/settings/ssh-key-paste.png) -7. Click **Add SSH key**. - ![The Add key button](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endlinux %} - {% cli %} {% data reusables.cli.cli-learn-more %} Before you can use the {% data variables.product.prodname_cli %} to add an SSH key to your account, you must authenticate to the {% data variables.product.prodname_cli %}. For more information, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login) in the {% data variables.product.prodname_cli %} documentation. -To add an SSH key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. +{% ifversion ssh-commit-verification %}At present, you can only use {% data variables.product.prodname_cli %} to add SSH authentication keys, you cannot add SSH signing keys.{% endif %} + +To add an SSH authentication key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. ```shell gh ssh-key add key-file diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index adb05a61f9..b2287d3a5e 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -1,6 +1,6 @@ --- title: About commit signature verification -intro: 'Using GPG or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.' +intro: 'Using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.' redirect_from: - /articles/about-gpg-commit-and-tag-signatures - /articles/about-gpg @@ -19,10 +19,18 @@ shortTitle: Commit signature verification --- ## About commit signature verification -You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} +You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} ![Verified commit](/assets/images/help/commits/verified-commit.png) +{% ifversion ghes or ghae %} +If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." +{% endif %} + +{% ifversion ssh-commit-verification %} +For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. {% data variables.product.product_name %} shows commits that were signed with such a key as "Verified" unless the key was marked as compromised. SSH keys don't have this capability. +{% endif %} + {% ifversion fpt or ghec %} Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." @@ -47,10 +55,9 @@ For more information, see "[Rebasing and merging your commits](/repositories/con {% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} -{% else %} -If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." {% endif %} + Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)." {% data reusables.identity-and-permissions.verification-status-check %} @@ -59,7 +66,7 @@ Repository administrators can enforce required commit signing on a branch to blo {% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.product_name %} will have a verified status. You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." {% else %}{% data variables.product.prodname_dotcom %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.prodname_dotcom %} will have a verified status. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. -You can optionally choose to have {% data variables.product.prodname_dotcom %} sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} +You can optionally choose to have {% data variables.product.prodname_dotcom %} GPG sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} {% endif %} ## GPG commit signature verification @@ -77,6 +84,26 @@ To sign commits using GPG and have those commits verified on {% data variables.p 5. [Sign commits](/articles/signing-commits) 6. [Sign tags](/articles/signing-tags) +{% ifversion ssh-commit-verification %} +## SSH commit signature verification + +You can use SSH to sign commits with an SSH public key that you generate yourself. If you already use an SSH key to authenticate with {% data variables.product.product_name %}, +you can also upload that same key again for use as a signing key. There's no limit on the number of signing keys you can add to your account. + +{% data variables.product.product_name %} uses [ssh_data](https://github.com/github/ssh_data), an open source Ruby library, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. + +{% data reusables.gpg.ssh-git-version %} + +To sign commits using SSH and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing SSH keys](/articles/checking-for-existing-ssh-keys) +2. [Generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +3. [Add a SSH signing key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) +4. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) +5. [Sign commits](/articles/signing-commits) +6. [Sign tags](/articles/signing-tags) + +{% endif %} ## S/MIME commit signature verification You can use S/MIME to sign commits with an X.509 key issued by your organization. diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index 27205863ec..3e6af65879 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -19,7 +19,7 @@ redirect_from: Cuando trabajas localmente en tu computadora, Git te permite configurar el autor de tus cambios y la identidad del confirmante. Esto, potencialmente, dificulta que otras personas tengan la confimansa de que realmente hayas creado tus etiquetas y confirmaciones. Para ayudarte a resolver este problema, puedes firmar tus confirmaciones y etiquetas. Para obtener más información, consulta la sección "[Firmar confirmaciones](/github/authenticating-to-github/signing-commits)" y "[Firmar etiquetas](/github/authenticating-to-github/signing-tags)". {% data variables.product.prodname_dotcom %} marca las etiquetas y confirmaciones firmadas con un estado de verificación. -Predeterminadamente, las confirmaciones y etiquetas se marcan como "Verificadas" si se firman con una llave GPG o S/MIME que se verificó con éxito. Si una confirmación o etiqueta tiene una firma que no puede verificar {% data variables.product.prodname_dotcom %}, la marcaremos como "No verificada". En el resto de los casos, no se muestra un estado de verificación. +By default commits and tags are marked "Verified" if they are signed with a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME key that was successfully verified. Si una confirmación o etiqueta tiene una firma que no puede verificar {% data variables.product.prodname_dotcom %}, la marcaremos como "No verificada". En el resto de los casos, no se muestra un estado de verificación. Sin embargo, puedes proporcionar aún más confianza a otros usuarios sobre la identidad que se atribuye a tus confirmaciones y etiquetas si habilitas el modo vigilanten en tu configuración de {% data variables.product.prodname_dotcom %}. Cuando tienes habilitado el modo vigilante, todas tus confirmaciones y etiquetas se marcan con uno de tres estados de verificación. diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md index 63ddd127e8..e86df4c351 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -29,11 +29,11 @@ topics: {% data reusables.command_line.open_the_multi_os_terminal %} 3. Genera un par de la llave GPG. Ya que existen varias versiones de GPG, puede que necesites consultar la [_página man_](https://en.wikipedia.org/wiki/Man_page) relevante para encontrar el comando adecuado para la generación de llaves. Tu llave debe utilizar RSA. - Si estás usando una versión 2.1.17 o superior, copia el siguiente texto para generar un par de la llave GPG. - ```shell + ```shell{:copy} $ gpg --full-generate-key ``` - Si no estás usando la versión 2.1.17 ni una superior, el comando `gpg --full-generate-key` no funciona. Copia el siguiente texto y continúa con el paso 6. - ```shell + ```shell{:copy} $ gpg --default-new-key-algo rsa4096 --gen-key ``` 4. En el prompt, especifica la clase de llave que quieres, o presiona `Enter` para aceptar lo predeterminado. @@ -52,10 +52,10 @@ topics: {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} 10. Pega el siguiente texto sustituyendo el ID de la llave GPG que deseas usar. En este ejemplo, el ID de la llave GPG es `3AA5C34371567BD2`: - ```shell - $ gpg --armor --export 3AA5C34371567BD2 - # Prints the GPG key ID, in ASCII armor format - ``` + ```shell{:copy} + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` 11. Copia tu llave GPG, comenzando con `-----BEGIN PGP PUBLIC KEY BLOCK-----` y terminando con `-----END PGP PUBLIC KEY BLOCK-----`. 12. [Agrega la llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account). diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md index cc874bcb11..f081788d36 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/index.md @@ -1,6 +1,6 @@ --- title: Administrar la verificación de firma de confirmación de cambios -intro: 'Puedes firmar tu trabajo localmente utilizando GPG o S/MIME. {% data variables.product.product_name %} verificará estas firmas para que otras personas sepan que tus confirmaciones de cambios provienen de una fuente confiable.{% ifversion fpt %} {% data variables.product.product_name %} firmará de forma automática las confirmaciones de cambios que realices utilizando la interfaz web {% data variables.product.product_name %}.{% endif %}' +intro: '{% data variables.product.product_name %} verificará las firmas GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} o S/MIME para que otras personas sepan que tus confirmaciones vienen de una fuente confiable.{% ifversion fpt %} {% data variables.product.product_name %} firmará automáticamente las confirmaciones que realices utilizando la interfaz web de {% data variables.product.product_name %}.{% endif %}' redirect_from: - /articles/generating-a-gpg-key - /articles/signing-commits-with-gpg diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md index 912baf0ee2..e3f02babc3 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -1,6 +1,6 @@ --- title: Firmar confirmaciones -intro: Puedes firmar las confirmaciones localmente utilizando GPG o S/MIME. +intro: 'Puedes firmar las confirmaciones localmente utilizando GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} o S/MIME.' redirect_from: - /articles/signing-commits-and-tags-using-gpg - /articles/signing-commits-using-gpg @@ -52,9 +52,5 @@ Si tienes múltiples llaves o estás intentando firmar confirmaciones o etiqueta ## Leer más -* "[Comprobar llaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -* "[Generar una llave GPG nueva](/articles/generating-a-new-gpg-key)" -* "[Agregar una llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account)" * "[Informar a Git sobre tu llave de firma](/articles/telling-git-about-your-signing-key)" -* "[Asociar un correo electrónico con tu llave GPG](/articles/associating-an-email-with-your-gpg-key)" * "[Firmar etiquetas](/articles/signing-tags)" diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md index cafb07beec..576223480e 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -1,6 +1,6 @@ --- title: Firmar etiquetas -intro: Puedes firmar las etiquetas localmente utilizando GPG o S/MIME. +intro: 'You can sign tags locally using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME.' redirect_from: - /articles/signing-tags-using-gpg - /articles/signing-tags @@ -32,9 +32,6 @@ topics: ## Leer más - [Ver las etiquetas de tu repositorio](/articles/viewing-your-repositorys-tags)" -- "[Comprobar llaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Generar una llave GPG nueva](/articles/generating-a-new-gpg-key)" -- "[Agregar una llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account)" - "[Informar a Git sobre tu llave de firma](/articles/telling-git-about-your-signing-key)" - "[Asociar un correo electrónico con tu llave GPG](/articles/associating-an-email-with-your-gpg-key)" - "[Firmar confirmaciones](/articles/signing-commits)" diff --git a/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 426c771f8d..6fd5e87f3b 100644 --- a/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/es-ES/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -1,6 +1,6 @@ --- title: Informarle a Git acerca de tu clave de firma -intro: 'Para firmar las confirmaciones localmente, necesitas informar a Git que hay una llave de GPG o X.509 que quieres utilizar.' +intro: 'To sign commits locally, you need to inform Git that there''s a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or X.509 key you''d like to use.' redirect_from: - /articles/telling-git-about-your-gpg-key - /articles/telling-git-about-your-signing-key @@ -52,8 +52,6 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar. $ killall gpg-agent ``` -{% data reusables.gpg.x-509-key %} - {% endmac %} {% windows %} @@ -75,8 +73,6 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar. {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} -{% data reusables.gpg.x-509-key %} - {% endwindows %} {% linux %} @@ -101,15 +97,25 @@ Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar. ```bash $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc ``` - {% endlinux %} +{% ifversion ssh-commit-verification %} +## Telling Git about your SSH key + +You can use an existing SSH key to sign commits and tags, or generate a new one specifically for signing. Para obtener más información, consulta "[Generar una nueva llave SSH y agregarla a ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." + +{% data reusables.gpg.ssh-git-version %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.configure-ssh-signing %} +{% data reusables.gpg.copy-ssh-public-key %} +{% data reusables.gpg.paste-ssh-public-key %} + +{% endif %} + +{% data reusables.gpg.x-509-key %} ## Leer más -- "[Comprobar llaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Generar una llave GPG nueva](/articles/generating-a-new-gpg-key)" -- "[Utilizar una dirección de correo electrónico verificada en tu llave GPG](/articles/using-a-verified-email-address-in-your-gpg-key)" -- "[Agregar una llave GPG a tu cuenta de GitHub](/articles/adding-a-gpg-key-to-your-github-account)" -- "[Asociar un correo electrónico con tu llave GPG](/articles/associating-an-email-with-your-gpg-key)" +- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." - "[Firmar confirmaciones](/articles/signing-commits)" - "[Firmar etiquetas](/articles/signing-tags)" diff --git a/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index 93de4440ac..9902de28a0 100644 --- a/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/translations/es-ES/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -22,7 +22,10 @@ shortTitle: Verificar el estado de verificación 1. En {% data variables.product.product_name %}, desplázate hasta la solicitud de extracción. {% data reusables.repositories.review-pr-commits %} 3. Junto al hash de confirmación abreviado de tu confirmación, hay una casilla que te muestra si tu firma de confirmación se verificó{% ifversion fpt or ghec %}, se verificó parcialmente,{% endif %} o si no se verificó. ![Confirmación firmada](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. Para ver información más detallada sobre la firma de confirmación, haz clic en **Verificada**{% ifversion fpt or ghec %}, **Verificada parcialmente**,{% endif %} o **Sin verificar**. ![Confirmación firmada verificada](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +4. Para ver información más detallada sobre la firma de confirmación, haz clic en **Verificada**{% ifversion fpt or ghec %}, **Verificada parcialmente**,{% endif %} o **Sin verificar**. GPG signed commits will show the ID of the key that was used. ![Verified GPG signed commit](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +{% ifversion ssh-commit-verification %} + SSH signed commits will show the signature of the public key that was used. ![Verified SSH signed commit](/assets/images/help/commits/ssh-signed-commit-verified-details.png) +{% endif %} ## Comprobar el estado de verificación de firma de la etiqueta diff --git a/translations/es-ES/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md b/translations/es-ES/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md index 4f0b2f52b6..6c59e90b4f 100644 --- a/translations/es-ES/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md +++ b/translations/es-ES/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md @@ -1,6 +1,7 @@ --- title: Acerca de la facturación para GitHub Actions intro: 'Si quieres utilizar {% data variables.product.prodname_actions %} con más almacenamiento o minutos de los que se incluyen en tu cuenta, se te cobrará por estos recursos adicionales.' +miniTocMaxHeadingLevel: 3 redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions @@ -28,6 +29,13 @@ Los minutos se restablecen cada mes, pero no es el caso para el uso de almacenam ### Minutos y almacenamiento incluídos +{% ifversion actions-hosted-runners %} +{% note %} + +**Note**: Entitlement minutes cannot be used for Windows and Ubuntu runners over 2-cores. These runners will always be charged for, including in public repos. For more information, see "[Per-minute rates for runners](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)." + +{% endnote %} +{% endif %} | Producto | Almacenamiento | Minutos (por mes) | | --------------------------------------------------------------------- | -------------- | ----------------- | | {% data variables.product.prodname_free_user %} | 500 MB | 2,000 | @@ -58,15 +66,15 @@ El almacenamiento que utilza un repositorio es el total del almacenamiento utili ### Tasas por minuto -| Sistema operativo | Tasa por minuto (USD) | -| ----------------- | --------------------- | -| Linux | $0.008 | -| macOS | $0.08 | -| Windows | $0.016 | +{% data reusables.billing.billing-standard-runners %} +{% ifversion actions-hosted-runners %}{% data reusables.billing.billing-hosted-runners %}{% endif %} -La cantidad de jobs que puedes ejecutar simultáneamente a través de todos los repositorios que pertenezcan a tu cuenta de usuario u organización dependerá de tu plan de GitHub. Para obtener más información, consulta la sección "[Facturación y límites de uso](/actions/reference/usage-limits-billing-and-administration)" para los ejecutores hospedados en {% data variables.product.prodname_dotcom %} y la sección "[Acerca de los ejecutores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" para los límites de uso de los ejecutores auto-hospedados. - -{% data reusables.user-settings.context_switcher %} +- La cantidad de jobs que puedes ejecutar simultáneamente a través de todos los repositorios que pertenezcan a tu cuenta de usuario u organización dependerá de tu plan de GitHub. Para obtener más información, consulta la sección "[Facturación y límites de uso](/actions/reference/usage-limits-billing-and-administration)" para los ejecutores hospedados en {% data variables.product.prodname_dotcom %} y la sección "[Acerca de los ejecutores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)" para los límites de uso de los ejecutores auto-hospedados. +- {% data reusables.user-settings.context_switcher %} +{% ifversion actions-hosted-runners %} +- For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see "[Using {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/using-larger-runners)." +- Entitlement minutes cannot be used for {% data variables.actions.hosted_runner %}s. +{% endif %} ## Calcular los gastos por minuto y por almacenamiento diff --git a/translations/es-ES/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md b/translations/es-ES/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md index 9722449988..816c27b417 100644 --- a/translations/es-ES/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md +++ b/translations/es-ES/content/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot.md @@ -18,4 +18,4 @@ Before starting a paid subscription, you can set up a one-time 60-day trial to e The {% data variables.product.prodname_copilot %} subscription is available on a monthly or yearly cycle. If you choose a monthly billing cycle, you will be billed $10 per calendar month. If you choose a yearly billing cycle, you will be billed $100 per year. You can modify your billing cycle at any time, and the modification will be reflected from the start of your next billing cycle. -A free subscription for {% data variables.product.prodname_copilot %} is available to verified students, and maintainers of popular open-source repositories on {% data variables.product.company_short %}. If you meet the criteria as an open source maintainer, you will be automatically notified when you visit the {% data variables.product.prodname_copilot %} subscription page. As a student, if you currently receive the {% data variables.product.prodname_student_pack %}, you will also be offered a free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page. For more information about the {% data variables.product.prodname_student_pack %}, see "[Apply to {% data variables.product.prodname_global_campus %} as a student](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)." +A free subscription for {% data variables.product.prodname_copilot %} is available to verified students, and maintainers of popular open-source repositories on {% data variables.product.company_short %}. If you meet the criteria as an open source maintainer, you will be automatically notified when you visit the {% data variables.product.prodname_copilot %} subscription page. As a student, if you currently receive the {% data variables.product.prodname_student_pack %}, you will also be offered a free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page. Para obtener más información sobre el {% data variables.product.prodname_student_pack %}, consulta la sección "[Solicitar ingresar al {% data variables.product.prodname_global_campus %} como alumno](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)". diff --git a/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index 7dbda8a14b..0a0aa5a1df 100644 --- a/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/translations/es-ES/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -50,9 +50,9 @@ Todos los datos de transferencia saliente, cuando se desencadenan mediante {% da El uso de almacenamiento se comparte con los artefactos de compilación que produce {% data variables.product.prodname_actions %} para los repositorios que pertenecen a tu cuenta. Para obtener más información, consulta "[Acerca de la facturación para {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)". -{% data variables.product.prodname_dotcom %} cobra el uso a la cuenta a la que pertenece el repositorio en donde se publica el paquete. Si tu uso de cuenta sobrepasa estos límites y configuraste un límite de gastos mayor a $0 USD, pagarás $0.25 USD por GB de almacenamiento por día y $0.50 USD por GB de transferencia de datos. +{% data variables.product.prodname_dotcom %} cobra el uso a la cuenta a la que pertenece el repositorio en donde se publica el paquete. Si tu uso de cuenta sobrepasa estos límites y configuraste un límite de gastos mayor a $0 USD, pagarás $0.008 USD por GB de almacenamiento por día y $0.50 USD por GB de transferencia de datos. -Por ejemplo, si tu organización utiliza {% data variables.product.prodname_team %}, permite los gastos ilimitados, utiliza 150GB de almacenamiento, y tiene 50GB de transferencia de datos durante un mes, ésta tendrá un excedente de 148GB en el almacenamiento y de 40GB en transferencia de datos para ese mes. El excedente de almacenamiento costaría $0.25 USD por GB por día o $37 USD. El excedente para transferencia de datos costaría $0.50 USD por GB, o $20 USD. +Por ejemplo, si tu organización utiliza {% data variables.product.prodname_team %}, permite los gastos ilimitados, utiliza 150GB de almacenamiento, y tiene 50GB de transferencia de datos durante un mes, ésta tendrá un excedente de 148GB en el almacenamiento y de 40GB en transferencia de datos para ese mes. El almacenamiento excedente costaría $0.008 USD por GB por día o, aproximadamente, $37 USD por un mes de 31 días. El excedente para transferencia de datos costaría $0.50 USD por GB, o $20 USD. {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} diff --git a/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md b/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md index 3d0dd9028a..3e14720e63 100644 --- a/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md +++ b/translations/es-ES/content/billing/managing-your-license-for-github-enterprise/troubleshooting-license-usage-for-github-enterprise.md @@ -1,6 +1,6 @@ --- -title: Troubleshooting license usage for GitHub Enterprise -intro: You can troubleshoot license usage for your enterprise by auditing license reports. +title: Solucionar problemas de uso de licencia para GitHub Enterprise +intro: Puedes solucionar los problemas con el uso de licencia para tu empresa si auditas los reportes de licencia. permissions: 'Enterprise owners can review license usage for {% data variables.product.prodname_enterprise %}.' versions: ghec: '*' @@ -9,26 +9,26 @@ type: how_to topics: - Enterprise - Licensing -shortTitle: Troubleshoot license usage +shortTitle: Solucionar el uso de licencia --- -## About unexpected license usage +## Acerca del uso de licencia inesperado -If the number of consumed licenses for your enterprise is unexpected, you can review your consumed license report to audit your license usage across all your enterprise deployments and subscriptions. For more information, see "[Viewing license usage for GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise)" and "[Viewing the subscription and usage for your enterprise account](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)." +Si la cantidad de licencias consumidas para tu empresa es inesperada, puedes revisar tu reporte de licencias consumidas para auditar tu uso de licencia en todos los despliegues y suscripciones de tu empresa. Para obtener más información, consulta la sección "[Ver el uso de licencia para GitHub Enterprise](/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise)" y "[Ver la suscripción y el uso de tu cuenta empresarial](/billing/managing-billing-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)". -If you find errors, you can try troubleshooting steps. +Si encuentras errores, puedes intentar solucionar los problemas de los pasos. -For privacy reasons, enterprise owners cannot directly access the details of user accounts unless you use {% data variables.product.prodname_emus %}. +Por razones de privacidad, los propietarios de las empresas no pueden acceder directamente a los detalles de las cuentas de usuario a menos de que utilices {% data variables.product.prodname_emus %}. -## About the calculation of consumed licenses +## Acerca del cálculo de licencias consumidas -{% data variables.product.company_short %} bills for each person who uses deployments of {% data variables.product.prodname_ghe_server %}, is a member of one of your organizations on {% data variables.product.prodname_ghe_cloud %}, or is a {% data variables.product.prodname_vs_subscriber %}. For more information about the people in your enterprise who consume a license, see "[About per-user pricing](/billing/managing-billing-for-your-github-account/about-per-user-pricing)." +{% data variables.product.company_short %} factura por cada persona que utilice despliegues de {% data variables.product.prodname_ghe_server %}, que sea miembro de una de tus organizaciones en {% data variables.product.prodname_ghe_cloud %} o que sea un {% data variables.product.prodname_vs_subscriber %}. Para obtener más información sobre las personas de tu empresa que consumen licencias, consulta la sección "[Acerca de los precios por usuario](/billing/managing-billing-for-your-github-account/about-per-user-pricing)". -For each user to consume a single seat regardless of how many deployments they use, you must synchronize license usage between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}. Para obtener más información, consulta la sección "[Sincronizar el uso de licencia 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)". +Para que cada usuario consuma una sola plaza sin importar cuántos despliegues utilicen, debes sincronizar el uso de licencias entre {% data variables.product.prodname_ghe_server %} y {% data variables.product.prodname_ghe_cloud %}. Para obtener más información, consulta la sección "[Sincronizar el uso de licencia 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)". -After you synchronize license usage, {% data variables.product.prodname_dotcom %} matches user accounts on {% data variables.product.prodname_ghe_server %} with user accounts on {% data variables.product.prodname_ghe_cloud %} by email address. +Después de que sincronizas el uso de licencia, {% data variables.product.prodname_dotcom %} empata las cuentas de usuario en {% data variables.product.prodname_ghe_server %} con las cuentas de usuario en {% data variables.product.prodname_ghe_cloud %} por dirección de correo electrónico. -First, we first check the primary email address of each user on {% data variables.product.prodname_ghe_server %}. Then, we attempt to match that address with the email address for a user account on {% data variables.product.prodname_ghe_cloud %}. If your enterprise uses SAML SSO, we first check the following SAML attributes for email addresses. +Primero, revisa la dirección de correo electrónico principal de cada usuario en {% data variables.product.prodname_ghe_server %}. Después, intenta empatar dicha dirección con la de correo electrónico para una cuenta de usuario de {% data variables.product.prodname_ghe_cloud %}. Si tu empresa utiliza el SSO de SAML, primero hay que verificar los siguientes atributos de SAML para las direcciones de correo electrónco. - `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` - `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` @@ -36,64 +36,64 @@ First, we first check the primary email address of each user on {% data variable - `ID del nombre` - `emails` -If no email addresses found in these attributes match the primary email address on {% data variables.product.prodname_ghe_server %}, or if your enterprise doesn't use SAML SSO, we then check each of the user's verified email addresses on {% data variables.product.prodname_ghe_cloud %}. Para obtener más información sobre la verificación de las direcciones de correo electrónico de {% data variables.product.prodname_dotcom_the_website %}, consulta la sección "[Verificar tu dirección de correo electrónico](/enterprise-cloud@latest/get-started/signing-up-for-github/verifying-your-email-address){% ifversion not ghec %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% else %}".{% endif %} +Si no hay ninguna dirección de correo electrónico en estos atributos que empate con la dirección primaria en {% data variables.product.prodname_ghe_server %} o si tu empresa no utiliza el SSO de SAML, entonces podemos verificar cada una de las direcciones de correo electrónico verificadas de los usuarios en {% data variables.product.prodname_ghe_cloud %}. Para obtener más información sobre la verificación de las direcciones de correo electrónico de {% data variables.product.prodname_dotcom_the_website %}, consulta la sección "[Verificar tu dirección de correo electrónico](/enterprise-cloud@latest/get-started/signing-up-for-github/verifying-your-email-address){% ifversion not ghec %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% else %}".{% endif %} -## Fields in the consumed license files +## Campos en los archivos de licencia consumidos -The {% data variables.product.prodname_dotcom_the_website %} license usage report and {% data variables.product.prodname_ghe_server %} exported license usage file include a variety of fields to help you troubleshoot license usage for your enterprise. +El reporte de uso de licencia en {% data variables.product.prodname_dotcom_the_website %} y el archivo de uso de licencia exportado de {% data variables.product.prodname_ghe_server %} incluyen varios campos para ayudarte a solucionar los problemas de uso de licencia para tu empresa. -### {% data variables.product.prodname_dotcom_the_website %} license usage report (CSV file) +### Reporte de uso de licencia de {% data variables.product.prodname_dotcom_the_website %} (archivo CSV) -The license usage report for your enterprise is a CSV file that contains the following information about members of your enterprise. Some fields are specific to your {% data variables.product.prodname_ghe_cloud %} (GHEC) deployment, {% data variables.product.prodname_ghe_server %} (GHES) connected environments, or your {% data variables.product.prodname_vs %} subscriptions (VSS) with GitHub Enterprise. +El reporte de uso de licencia para tu empresa es un archivo CSV que contiene la siguiente información sobre los miembros de tu empresa. Algunos campos son específicos para tu despliegue de {% data variables.product.prodname_ghe_cloud %} (GHEC), ambientes conectados de {% data variables.product.prodname_ghe_server %} (GHES) o para tus suscripciones de {% data variables.product.prodname_vs %} (VSS) con GitHub Enterprise. -| Campo | Descripción | -| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| github_com_login | The username for the user's GHEC account | -| github_com_name | The display name for the user's GHEC account | -| github_com_profile | The URL for the user's profile page on GHEC | -| github_com_user | Whether or not the user has an account on GHEC | -| github_com_member_roles | For each of the organizations the user belongs to on GHEC, the organization name and the user's role in that organization (`Owner` or `Member`) separated by a colon

Organizations delimited by commas | -| github_com_enterprise_role | Can be one of: `Owner`, `Member`, or `Outside collaborator` | -| github_com_verified_domain_emails | All email addresses associated with the user's GHEC account that match your enterprise's verified domains | -| github_com_saml_name_id | The SAML username | -| github_com_orgs_with_pending_invites | All pending invitations for the user's GHEC account to join organizations within your enterprise | -| license_type | Can be one of: `Visual Studio subscription` or `Enterprise` | -| enterprise_server_user | Whether or not the user has at least one account on GHES | -| enterprise_server_primary_emails | The primary email addresses associated with each of the user's GHES accounts | -| enterprise_server_user_ids | For each of the user's GHES accounts, the account's user ID | -| total_user_accounts | The total number of accounts the person has across both GHEC and GHES | -| visual_studio_subscription_user | Whether or not the user is a {% data variables.product.prodname_vs_subscriber %} -| visual_studio_subscription_email | The email address associated with the user's VSS | -| visual_studio_license_status | Whether the Visual Studio license has been matched to a {% data variables.product.company_short %} user | +| Campo | Descripción | +| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| github_com_login | El nombre de usuario para la cuenta de GHEC del usuario | +| github_com_name | El nombre para mostrar de la cuenta de GHEC del usuario | +| github_com_profile | La URL para la página de perfil del usuario en GHEC | +| github_com_user | Si el usuario tiene una cuenta en GHEC o no | +| github_com_member_roles | Para cada una de las organizaciones a las cuales pertenece el usuario en GHEC, el nombre de organización y el rol del usuario en dicha organización (`Owner` o `Member`) separado por dos puntos

Las organizaciones se delimitan con comas | +| github_com_enterprise_role | Puede ser una de entre: `Owner`, `Member`, o `Outside collaborator` | +| github_com_verified_domain_emails | Todas las direcciones de correo electrónico asociadas con la cuenta de GHEC del usuario que empaten con los dominios verificados de tu empresa | +| github_com_saml_name_id | El nombre de usuario de SAML | +| github_com_orgs_with_pending_invites | Todas las invitaciones pendientes para que la cuenta de GHEC del usuario se una a organizaciones dentro de tu empresa | +| license_type | Puede ser una de entre: `Visual Studio subscription` o `Enterprise` | +| enterprise_server_user | Si el usuario tiene por lo menos una cuenta en GHES o no | +| enterprise_server_primary_emails | Las direcciones de correo electrónico principales asociadas con cada una de las cuentas de GHES del usuario | +| enterprise_server_user_ids | La ID de usuario de cada una de las cuentas de GHES del usuario | +| total_user_accounts | La cantidad total de cuentas que tiene la persona tanto en GHEC como en GHES | +| visual_studio_subscription_user | Si el usuario es un {% data variables.product.prodname_vs_subscriber %} o no | +| visual_studio_subscription_email | La dirección de correo electrónico asociada con el VSS del usuario | +| visual_studio_license_status | Si la licencia de Visual Studio empató con un usuario de {% data variables.product.company_short %} o no | -{% data variables.product.prodname_vs_subscriber %}s who are not yet members of at least one organization in your enterprise will be included in the report with a pending invitation status, and will be missing values for the "Name" or "Profile link" field. +Los {% data variables.product.prodname_vs_subscriber %}es que aún no son miembros de por lo menos una organización en tu empresa se incluirán en el reporte con un estado de invitación pendiente y serán valores faltantes para el campo de "Nombre" o "Enlace de perfil". -### {% data variables.product.prodname_ghe_server %} exported license usage (JSON file) +### Uso de licencia de {% data variables.product.prodname_ghe_server %} exportada (archivo JSON) -Your {% data variables.product.prodname_ghe_server %} license usage is a JSON file that is typically used when performing a manual sync of user licenses between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} deployments. The file contains the following information specific to your {% data variables.product.prodname_ghe_server %} environment. +Tu uso de licencia de {% data variables.product.prodname_ghe_server %} es un archivo de JSON que se utiliza habitualmente al realizar una sincronización manual de licencias de usuario entre despliegues de {% data variables.product.prodname_ghe_server %} y de {% data variables.product.prodname_ghe_cloud %}. El archivo contiene la siguiente información específica para tu ambiente de {% data variables.product.prodname_ghe_server %}. -| Campo | Descripción | -| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Características | The {% data variables.product.prodname_github_connect %} features that are enabled on your {% data variables.product.prodname_ghe_server %} instance, and the date and time of enablement. | -| Host name | The hostname of your {% data variables.product.prodname_ghe_server %} instance. | -| HTTP only | Whether Transport Layer Security (TLS) is enabled and configured on your {% data variables.product.prodname_ghe_server %} instance. Can be one of: `True` or `False`. | -| Licencia | Un hash de tu licencia {% data variables.product.prodname_ghe_server %}. | -| Public key | La parte pública de la clave de tu licencia {% data variables.product.prodname_ghe_server %}. | -| Server ID | UUID generated for your {% data variables.product.prodname_ghe_server %} instance. | -| Versión | The version of your {% data variables.product.prodname_ghe_server %} instance. | +| Campo | Descripción | +| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Características | Las características de {% data variables.product.prodname_github_connect %} que están habilitadas en tu instancia de {% data variables.product.prodname_ghe_server %} y la fecha y hora de la habilitación. | +| Host name | El nombre de host de tu instancia de {% data variables.product.prodname_ghe_server %}. | +| HTTP only | Si se habilitó y configuró la Seguridad de Capa de Transporte (TLS) en tu instancia de {% data variables.product.prodname_ghe_server %}. Puede ser uno de entre: `True` o `False`. | +| Licencia | Un hash de tu licencia {% data variables.product.prodname_ghe_server %}. | +| Public key | La parte pública de la clave de tu licencia {% data variables.product.prodname_ghe_server %}. | +| Server ID | La UUID generada para tu instancia de {% data variables.product.prodname_ghe_server %}. | +| Versión | La versión de tu instancia de {% data variables.product.prodname_ghe_server %}. | -## Troubleshooting consumed licenses +## Solucionar problemas de las licencias consumidas -To ensure that the each user is only consuming a single seat for different deployments and subscriptions, try the following troubleshooting steps. +Para garantizar que cada usuario solo consume una sola plaza para los diversos despliegues y suscripciones, intenta tomas los siguientes pasos. -1. To help identify users that are consuming multiple seats, if your enterprise uses verified domains for {% data variables.product.prodname_ghe_cloud %}, review the list of enterprise members who do not have an email address from a verified domain associated with their account on {% data variables.product.prodname_dotcom_the_website %}. Often, these are the users who erroneously consume more than one licensed seat. Para obtener más información, consulta la sección "[Ver a los miembros sin un a dirección de correo electrónico desde un dominio verificado](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-without-an-email-address-from-a-verified-domain)". +1. Para ayudar a identificar a los usuarios que están consumiendo varias plazas, si tu empresa utiliza los dominios verificados para {% data variables.product.prodname_ghe_cloud %}, revisa la lista de miembros empresariales que no tienen una dirección de correo electrónico de un dominio verificado y asociado con su cuenta en {% data variables.product.prodname_dotcom_the_website %}. A menudo, estos son los usuarios que consumen más de una plaza con licencia por error. Para obtener más información, consulta la sección "[Ver a los miembros sin un a dirección de correo electrónico desde un dominio verificado](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-without-an-email-address-from-a-verified-domain)". {% note %} - **Note:** To make troubleshooting easier, we recommend using verified domains with your enterprise account on {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "[Verificar o aprobar un dominio para tu empresa](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)". + **Nota:** Para facilitar la solución de problemas, te recomendamos utilizar dominios verificados con tu cuenta empresarial en {% data variables.product.prodname_dotcom_the_website %}. Para obtener más información, consulta la sección "[Verificar o aprobar un dominio para tu empresa](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise)". {% endnote %} -1. After you identify users who are consuming multiple seats, make sure that the same email address is associated with all of the user's accounts. For more information about which email addresses must match, see "[About the calculation of consumed licenses](#about-the-calculation-of-consumed-licenses)." -1. If an email address was recently updated or verified to correct a mismatch, view the timestamp of the last license sync job. If a job hasn't run since the correction was made, manually trigger a new job. For more information, see "[Syncing license usage between GitHub Enterprise Server and GitHub Enterprise Cloud](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)." +1. Después de que identifiques a los usuarios que están consumiendo varias plazas, asegúrate de que la misma dirección de correo electrónico esté asociada con todas las cuentas de usuario. Para obtener más información sobre qué direcciones de correo electrónico deben coincidir, consulta la sección "[Acerca del cálculo de las licencias consumidas](#about-the-calculation-of-consumed-licenses)". +1. Si se actualizó o verificó recientemente una dirección de correo electrónico para corregir un desajuste, ve la marca de tiempo del último job de sincronización de licencia. Si un job no se ha ejecutado desde que se realizó la corrección, activa un job nuevo manualmente. Para obtener más información, consulta la sección "[Sincronizar el uso de licencia entre GitHub Enterprise Server y GitHub Enterprise Cloud](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud)". -If you still have questions about your consumed licenses after reviewing the troubleshooting information above, you can contact {% data variables.contact.github_support %} through the {% data variables.contact.contact_enterprise_portal %}. +Si aún tienes preguntas sobre tus licencias consumidas después de revisar la información de solución de problemas anterior, puedes contactar a {% data variables.contact.github_support %} a través del {% data variables.contact.contact_enterprise_portal %}. diff --git a/translations/es-ES/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md b/translations/es-ES/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md index fa57403bd2..62c798ddf3 100644 --- a/translations/es-ES/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md +++ b/translations/es-ES/content/code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md @@ -19,7 +19,7 @@ Este artículo es parte de una serie de cómo adoptar la {% data variables.produ ### Habilitar el escaneo de código -Using the data you collated in [Phase 2](/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale), you can begin to enable GHAS and then {% data variables.product.prodname_code_scanning %} on your repositories, one language at a time. The step-by-step process for enabling GHAS should look like this: +Utilizando los datos que recolectaste en la [Fase 2](/code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale), puedes comenzar a habilitar la GHAS y luego el {% data variables.product.prodname_code_scanning %} en tus repositorios, un lenguaje a la vez. The step-by-step process for enabling GHAS should look like this: 1. Enable GHAS on the repository. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)". 1. Create a pull request against the repository's default branch with a `codeql-analysis.yml` file containing an example of how to run CodeQL for that language. Para obtener más información, consulta la sección"[Crear una solicitud de extracción](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)." 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 89a7a591d4..693aff8c64 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 @@ -359,7 +359,7 @@ In the following example, the `+` symbol ensures that the specified additional { ## Using a custom configuration file -A custom configuration file is an alternative way to specify additional {% ifversion codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries and to specify which directories to scan during analysis. +A custom configuration file is an alternative way to specify additional {% ifversion codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries{% ifversion code-scanning-exclude-queries-from-analysis %}, exclude or include specific queries,{% endif %} and to specify which directories to scan during analysis. In the workflow file, use the `config-file` parameter of the `init` action to specify the path to the configuration file you want to use. This example loads the configuration file _./.github/codeql/codeql-config.yml_. @@ -442,6 +442,41 @@ Optionally, you can give each array element a name, as shown in the example conf If you only want to run custom queries, you can disable the default security queries by using `disable-default-queries: true`. +{% ifversion code-scanning-exclude-queries-from-analysis %} +### Excluding specific queries from analysis + +You can add `exclude` and `include` filters to your custom configuration file, to specify the queries you want to exclude or include in the analysis. + +This is useful if you want to exclude, for example: +- Specific queries from the default suites (`security`, `security-extended` and `security-and-quality`). +- Specific queries whose results do not interest you. +- All the queries that generate warnings and recommendations. + +You can use `exclude` filters similar to those in the configuration file below to exclude queries that you want to remove from the default analysis. In the example of configuration file below, both the `js/redundant-assignment` and the `js/useless-assignment-to-local` queries are excluded from analysis. + +```yaml +query-filters: + - exclude: + id: js/redundant-assignment + - exclude: + id: js/useless-assignment-to-local +``` +To find the id of a query, you can click the alert in the list of alerts in the Security tab. This opens the alert details page. The `Rule ID` field contains the query id. For more information about the alert details page, see "[About {% data variables.product.prodname_code_scanning %} alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)." + +{% tip %} + +**Tips:** +- The order of the filters is important. The first filter instruction that appears after the instructions about the queries and query packs determines whether the queries are included or excluded by default. +- Subsequent instructions are executed in order and the instructions that appear later in the file take precedence over the earlier instructions. + +{% endtip %} + +You can find another example illustrating the use of these filters in the "[Example configuration files](#example-configuration-files)" section. + +For more information about using `exclude` and `include` filters in your custom configuration file, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/#filtering-the-queries-in-a-query-suite)." For information on the query metadata you can filter on, see "[Metadata for CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/)." + +{% endif %} + ### Specifying directories to scan For the interpreted languages that {% data variables.product.prodname_codeql %} supports (Python{% ifversion fpt or ghes > 3.3 or ghae-issue-5017 %}, Ruby{% endif %} and JavaScript/TypeScript), you can restrict {% data variables.product.prodname_code_scanning %} to files in specific directories by adding a `paths` array to the configuration file. You can exclude the files in specific directories from analysis by adding a `paths-ignore` array. diff --git a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index a5948aba46..23e20a25a3 100644 --- a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -43,8 +43,8 @@ By default, the code scanning alerts page is filtered to show alerts for the def ![Summary of alerts](/assets/images/help/repository/code-scanning-click-alert.png) {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} - {% data reusables.code-scanning.alert-default-branch %} - ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} + {% data reusables.code-scanning.alert-default-branch %} + ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} 1. Optionally, if the alert highlights a problem with data flow, click **Show paths** to display the path from the data source to the sink where it's used. {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} ![The "Show paths" link on an alert](/assets/images/help/repository/code-scanning-show-paths.png) diff --git a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index a9fa55f11d..7cd2cdcc90 100644 --- a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -32,6 +32,12 @@ Si estás configurando el {% data variables.product.prodname_code_scanning %} pa Debes ejecutar a {% data variables.product.prodname_codeql %} dentro del mismo contenedor en el que compilaste tu código. Esto aplica a cuando utilizas el {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}, el {% data variables.product.prodname_codeql_runner %},{% endif %} o {% data variables.product.prodname_actions %}. Para el {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %}o el {% data variables.product.prodname_codeql_runner %}{% endif %}, consulta la sección "[Instalar el {% data variables.product.prodname_codeql_cli %} en tu sistema de IC](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)"{% ifversion codeql-runner-supported %} o "[Ejecutar el {% data variables.product.prodname_codeql_runner %} en tu sistema de IC](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)"{% endif %} para obtener más información. Si estás utilizando {% data variables.product.prodname_actions %}, configura tu flujo de trabajo para ejecutar todas las acciones en el mismo contenedor. Para obtener más información, consulta la sección "[Ejemplo de flujo de trabajo](#example-workflow)". +{% note %} + +**Nota:** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + ## Dependencias Es posible que tengas alguna dificultad para ejecutar el {% data variables.product.prodname_code_scanning %} si el contenedor que estás utilizando carece de ciertas dependencias (Por ejemplo, Git debe instalarse y agregarse a la variable PATH). Si encuentras propuestas de dependencias, revisa la lista de software que habitualmente se incluye en las imágenes de los ejecutores de {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta los archivos `readme` específicos de la versión en estas ubicaciones: diff --git a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 52e0b98fd3..32cea9db26 100644 --- a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -151,25 +151,29 @@ The names of the {% data variables.product.prodname_code_scanning %} analysis ch ![{% data variables.product.prodname_code_scanning %} pull request checks](/assets/images/help/repository/code-scanning-pr-checks.png) -When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion fpt or ghes > 3.2 or ghae or ghec %}an "Analysis not found"{% else %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. +When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} - ![Analysis not found for commit message](/assets/images/help/repository/code-scanning-analysis-not-found.png) +{% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-7095 %} + +{% elsif ghes < 3.5 or ghae %} +If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion ghes > 3.2 or ghae %}an "Analysis not found"{% elsif ghes = 3.2 %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. + +{% ifversion ghes > 3.2 or ghae %} + ![Analysis not found for commit message](/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png) The table lists one or more categories. Each category relates to specific analyses, for the same tool and commit, performed on a different language or a different part of the code. For each category, the table shows the two analyses that {% data variables.product.prodname_code_scanning %} attempted to compare to determine which alerts were introduced or fixed in the pull request. For example, in the screenshot above, {% data variables.product.prodname_code_scanning %} found an analysis for the merge commit of the pull request, but no analysis for the head of the main branch. -{% else %} - ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) -{% endif %} -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} ### Reasons for the "Analysis not found" message -{% else %} + +{% elsif ghes = 3.2 %} + ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) + ### Reasons for the "Missing analysis" message {% endif %} -After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion fpt or ghes > 3.2 or ghae or ghec %}"Analysis not found"{% else %}"Missing analysis for base commit SHA-HASH"{% endif %} message. +After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion ghes > 3.2 or ghae %}"Analysis not found"{% elsif ghes = 3.2 %}"Missing analysis for base commit SHA-HASH"{% endif %} message. There are other situations where there may be no analysis for the latest commit to the base branch for a pull request. These include: @@ -177,7 +181,7 @@ There are other situations where there may be no analysis for the latest commit To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch. -![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) + ![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) The solution in this situation is to add the name of the base branch to the `on:push` and `on:pull_request` specification in the {% data variables.product.prodname_code_scanning %} workflow on that branch and then make a change that updates the open pull request that you want to scan. @@ -189,6 +193,8 @@ There are other situations where there may be no analysis for the latest commit Merge a trivial change into the base branch to trigger {% data variables.product.prodname_code_scanning %} on this latest commit, then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}. +{% endif %} + ## Next steps After setting up {% data variables.product.prodname_code_scanning %}, and allowing its actions to complete, you can: diff --git a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md index c983e246ac..5cad113a82 100644 --- a/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md +++ b/translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md @@ -33,8 +33,6 @@ In repositories where {% data variables.product.prodname_code_scanning %} is con - The **Conversation** tab of the pull request, as part of a pull request review {% endif %} - The **Files changed** tab of the pull request -{% ifversion code-scanning-pr-conversations-tab %} {% endif %} - If you have write permission for the repository, you can see any existing {% data variables.product.prodname_code_scanning %} alerts on the **Security** tab. For information about repository alerts, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." {% ifversion fpt or ghes > 3.2 or ghae or ghec %} diff --git a/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index daeb17e483..74df7049d2 100644 --- a/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -45,9 +45,15 @@ If you upload a second SARIF file for a commit with the same category and from t If you're new to SARIF and want to learn more, see Microsoft's [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) repository. -## Preventing duplicate alerts using fingerprints +## Providing data to track {% data variables.product.prodname_code_scanning %} alerts across runs -Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the right line of code when files are edited. +Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the correct line of code when files are edited. The `ruleID` for a result has to be the same across analysis. + +### Reporting consistent filepaths + +The filepath has to be consistent across the runs to enable a computation of a stable fingerprint. If the filepaths differ for the same result, each time there is a new analysis a new alert will be created, and the old one will be closed. This will cause having multiple alerts for the same result. + +### Including data for fingerprint generation {% data variables.product.prodname_dotcom %} uses the `partialFingerprints` property in the OASIS standard to detect when two results are logically identical. For more information, see the "[partialFingerprints property](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611)" entry in the OASIS documentation. @@ -77,6 +83,12 @@ You can check a SARIF file is compatible with {% data variables.product.prodname If you use a code analysis engine other than {% data variables.product.prodname_codeql %}, you can review the supported SARIF properties to optimize how your analysis results will appear on {% data variables.product.prodname_dotcom %}. +{% note %} + +**Note:** You must supply an explicit value for any property marked as "required". The empty string is not supported for required properties. + +{% endnote %} + Any valid SARIF 2.1.0 output file can be uploaded, however, {% data variables.product.prodname_code_scanning %} will only use the following supported properties. ### `sarifLog` object @@ -138,7 +150,7 @@ Each `result` object contains details for one alert in the codebase. Within the | `level`| **Optional.** The severity of the result. This level overrides the default severity defined by the rule. {% data variables.product.prodname_code_scanning_capc %} uses the level to filter results by severity on {% data variables.product.prodname_dotcom %}. | `message.text`| **Required.** A message that describes the result. {% data variables.product.prodname_code_scanning_capc %} displays the message text as the title of the result. Only the first sentence of the message will be displayed when visible space is limited. | `locations[]`| **Required.** The set of locations where the result was detected up to a maximum of 10. Only one location should be included unless the problem can only be corrected by making a change at every specified location. **Note:** At least one location is required for {% data variables.product.prodname_code_scanning %} to display a result. {% data variables.product.prodname_code_scanning_capc %} will use this property to decide which file to annotate with the result. Only the first value of this array is used. All other values are ignored. -| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Preventing duplicate alerts using fingerprints](#preventing-duplicate-alerts-using-fingerprints)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. +| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Providing data to track code scanning alerts across runs](#providing-data-to-track-code-scanning-alerts-across-runs)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. | `codeFlows[].threadFlows[].locations[]`| **Optional.** An array of `location` objects for a `threadFlow` object, which describes the progress of a program through a thread of execution. A `codeFlow` object describes a pattern of code execution used to detect a result. If code flows are provided, {% data variables.product.prodname_code_scanning %} will expand code flows on {% data variables.product.prodname_dotcom %} for the relevant result. For more information, see the [`location` object](#location-object). | `relatedLocations[]`| A set of locations relevant to this result. {% data variables.product.prodname_code_scanning_capc %} will link to related locations when they are embedded in the result message. For more information, see the [`location` object](#location-object). @@ -204,7 +216,7 @@ These example SARIF output files show supported properties and example values. ### Example with minimum required properties -This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties or don't include values, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. +This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties, omit values, or use an empty string, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. ```json { diff --git a/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 1e03a239f3..193ee54f5a 100644 --- a/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/translations/es-ES/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -58,7 +58,7 @@ For more information see the [`upload-sarif` action](https://github.com/github/c The `upload-sarif` action can be configured to run when the `push` and `scheduled` event occur. For more information about {% data variables.product.prodname_actions %} events, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." -If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#preventing-duplicate-alerts-using-fingerprints)." +If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs)." {% data reusables.code-scanning.upload-sarif-alert-limit %} diff --git a/translations/es-ES/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md b/translations/es-ES/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md index 54ca86d3af..a9c8d47e23 100644 --- a/translations/es-ES/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md +++ b/translations/es-ES/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md @@ -78,7 +78,8 @@ You can display the command-line help for any command using the `--help``--command` | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from `--source-root`. Not needed for Python and JavaScript/TypeScript analysis. | | `--db-cluster` | | Optional. Use in multi-language codebases to generate one database for each language specified by `--language`. | `--no-run-unnecessary-builds` | | Recommended. Use to suppress the build command for languages where the {% data variables.product.prodname_codeql_cli %} does not need to monitor the build (for example, Python and JavaScript/TypeScript). -| `--source-root` | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. | +| `--source-root` | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. |{% ifversion fpt or ghec or ghes > 3.2 or ghae %} +| `--codescanning-config` | | Optional (Advanced). Use if you have a configuration file that specifies how to create the {% data variables.product.prodname_codeql %} databases and what queries to run in later steps. For more information, see "[Using a custom configuration file](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-a-custom-configuration-file)" and "[database create](https://codeql.github.com/docs/codeql-cli/manual/database-create/#cmdoption-codeql-database-create-codescanning-config)." |{% endif %} For more information, see [Creating {% data variables.product.prodname_codeql %} databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. diff --git a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database.md b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database.md index e4b621210d..983eb8443d 100644 --- a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database.md +++ b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/browsing-security-advisories-in-the-github-advisory-database.md @@ -74,7 +74,7 @@ El {% data variables.product.prodname_dependabot %} no crea {% data variables.pr ## About information in security advisories -Each security advisory contains information about the vulnerability{% ifversion GH-advisory-db-supports-malware %} or malware,{% endif %} which may include the description, severity, affected package, package ecosystem, affected versions and patched versions, impact, and optional information such as references, workarounds, and credits. Adicionalmente, las asesorías de la National Vulnerability Database contiene un enlace al registro de CVE, en donde puedes leer más sobre los detalles de la vulnerabilidad, su puntuación de CVSS y su nivel de severidad cualitativo. Para obtener más información, consulta la "[National Vulnerability Database](https://nvd.nist.gov/)" del Instituto Nacional de Estándares y Tecnología. +Cada asesoría de seguridad contiene información sobre la vulnerabilidad{% ifversion GH-advisory-db-supports-malware %} o malware,{% endif %} lo cual podría incluir la descripción, gravedad, paquete afectado, ecosistema del paquete, versiones afectadas y parchadas, impacto e información opcional tal como las referencias, soluciones alternativas y créditos. Adicionalmente, las asesorías de la National Vulnerability Database contiene un enlace al registro de CVE, en donde puedes leer más sobre los detalles de la vulnerabilidad, su puntuación de CVSS y su nivel de severidad cualitativo. Para obtener más información, consulta la "[National Vulnerability Database](https://nvd.nist.gov/)" del Instituto Nacional de Estándares y Tecnología. El nivel de gravedad es uno de cuatro niveles posibles que se definen en el [Sistema de clasificación de vulnerabilidades comunes (CVSS), Sección 5](https://www.first.org/cvss/specification-document)". - Bajo diff --git a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md index a717245b25..fadd3dd370 100644 --- a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md +++ b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts.md @@ -1,7 +1,7 @@ --- -title: Configuring Dependabot alerts -intro: 'Enable {% data variables.product.prodname_dependabot_alerts %} to be generated when a new vulnerable dependency {% ifversion GH-advisory-db-supports-malware %}or malware {% endif %}is found in one of your repositories.' -shortTitle: Configure Dependabot alerts +title: Configurar las alertas del Dependabot +intro: 'Habilita las {% data variables.product.prodname_dependabot_alerts %} para que se generen cuando una dependencia vulnerable nueva {% ifversion GH-advisory-db-supports-malware %}o malware {% endif %}se encuentre en uno de tus repositorios.' +shortTitle: Configurar las alertas del Dependabot versions: fpt: '*' ghes: '*' @@ -17,89 +17,89 @@ topics: - Repositories --- -## About {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} and malware{% endif %} +## Acerca de las {% data variables.product.prodname_dependabot_alerts %} para las dependencias vulnerables{% ifversion GH-advisory-db-supports-malware %} y el malware{% endif %} {% data reusables.repositories.a-vulnerability-is %} -{% data variables.product.prodname_dependabot %} scans code when a new advisory is added to the {% data variables.product.prodname_advisory_database %} or the dependency graph for a repository changes. When vulnerable dependencies{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %} are detected, {% data variables.product.prodname_dependabot_alerts %} are generated. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". +{% data variables.product.prodname_dependabot %} escanea el código cuando una asesoría nueva se agrega a la {% data variables.product.prodname_advisory_database %} o a la gráfica de dependencias para los cambios a un repositorio. Cuando se detectan dependencias vulnerables{% ifversion GH-advisory-db-supports-malware %} o el malware{% endif %}, se generan {% data variables.product.prodname_dependabot_alerts %}. Para obtener más información, consulta la sección "[Acerca de las {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". -You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for: -* Your personal account -* Your repository -* Your organization +Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para: +* Tu cuenta personal +* Tu repositorio +* Tu organización -## Managing {% data variables.product.prodname_dependabot_alerts %} for your personal account +## Adminsitrar las {% data variables.product.prodname_dependabot_alerts %} para tu cuenta personal {% ifversion fpt or ghec %} -You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your personal account. +Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios que le pertenecen a tu cuenta personal. -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for existing repositories +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para los repositorios existentes {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.security-analysis %} -3. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Inhabilitar todas** o **Habilitar todas**. ![Screenshot of "Configure security and analysis" features with "Enable all" or "Disable all" buttons emphasized](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-all.png) -4. Optionally, enable {% data variables.product.prodname_dependabot_alerts %} by default for new repositories that you create. ![Screenshot of "Enable Dependabot alerts" with "Enable by default for new private repositories" checkbox emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-by-default.png) -5. Click **Disable {% data variables.product.prodname_dependabot_alerts %}** or **Enable {% data variables.product.prodname_dependabot_alerts %}** to disable or enable {% data variables.product.prodname_dependabot_alerts %} for all the repositories you own. ![Screenshot of "Enable Dependabot alerts" with "Enable Dependabot alerts" button emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts.png) +3. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Inhabilitar todas** o **Habilitar todas**. ![Captura de pantalla de las características de "Configurar el análisis y la seguridad" con énfasis en los botones "Habilitar todo" o "Inhabilitar todo"](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-all.png) +4. Opcionalmente, habilita las {% data variables.product.prodname_dependabot_alerts %} predeterminadamente para los repositorios nuevos que crees. ![Captura de pantalla de "Habilitar las alertas del Dependabot" con énfasis en la casilla de verificación "Habilitar predeterminadamente para los repositorios privados nuevos"](/assets/images/help/dependabot/dependabot-alerts-enable-by-default.png) +5. Haz clic en **Inhabilitar las {% data variables.product.prodname_dependabot_alerts %}** o **Habilitar las {% data variables.product.prodname_dependabot_alerts %}** para inhabilitar o habilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios que te pertenezcan. ![Captura de pantalla de "Habilitar las alertas del Dependabot" con énfasis en el botón "Habilitar las alertas del Dependabot"](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts.png) -When you enable {% data variables.product.prodname_dependabot_alerts %} for existing repositories, you will see any results displayed on GitHub within minutes. +Cuando habilitas las {% data variables.product.prodname_dependabot_alerts %} para los repositorios existentes, verás todos los resultados mostrados en GitHub en cuestión de minutos. -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for new repositories +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para los repositorios nuevos {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.security-analysis %} -3. Under "Code security and analysis", to the right of {% data variables.product.prodname_dependabot_alerts %}, enable or disable {% data variables.product.prodname_dependabot_alerts %} by default for new repositories that you create. ![Screenshot of "Configure security and analysis" with "Enable for all new private repositories" check emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-for-all-new-repositories.png) +3. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, habilita o inhabilita las {% data variables.product.prodname_dependabot_alerts %} predeterminadas para los repositorios nuevos que crees. ![Captura de pantalla de "Configurar el análisis y la seguridad" con énfasis en la casilla de verificación "Habilitar para todos los repositorios privados nuevos"](/assets/images/help/dependabot/dependabot-alerts-enable-for-all-new-repositories.png) {% else %} -{% data variables.product.prodname_dependabot_alerts %} for your repositories can be enabled or disabled by your enterprise owner. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". +Tu propietario de empresa puede habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para tus repositorios. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". {% endif %} ## Administrar las {% data variables.product.prodname_dependabot_alerts %} para tu repositorio -{% ifversion fpt or ghec %}You can manage {% data variables.product.prodname_dependabot_alerts %} for your public, private or internal repository. +{% ifversion fpt or ghec %}Puedes adminsitrar las {% data variables.product.prodname_dependabot_alerts %} para tu repositorio público, privado o interno. -Predeterminadamente, notificamos a las personas con permisos administrativos en los repositorios afectados sobre las {% data variables.product.prodname_dependabot_alerts %} nuevas. {% data variables.product.product_name %} never publicly discloses insecure dependencies for any repository. También puedes hacer que las {% data variables.product.prodname_dependabot_alerts %} sean visibles para más personas o equipos que trabajen en los repositorios que te pertenecen o para los cuales tienes permisos administrativos. +Predeterminadamente, notificamos a las personas con permisos administrativos en los repositorios afectados sobre las {% data variables.product.prodname_dependabot_alerts %} nuevas. {% data variables.product.product_name %} jamás divulga públicamente las dependencias inseguras de ningún repositorio. También puedes hacer que las {% data variables.product.prodname_dependabot_alerts %} sean visibles para más personas o equipos que trabajen en los repositorios que te pertenecen o para los cuales tienes permisos administrativos. {% data reusables.security.security-and-analysis-features-enable-read-only %} -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for a repository +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para un repositorio {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %} -1. Under "Code security and analysis", to the right of {% data variables.product.prodname_dependabot_alerts %}, click **Enable** to enable alerts or **Disable** to disable alerts. ![Screenshot of "Code security and analysis" section with button to enable {% data variables.product.prodname_dependabot_security_updates %}](/assets/images/help/repository/security-and-analysis-disable-or-enable-fpt-private.png) +1. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Habilitar** para habilitar las alertas o en **Inhabilitar** para inhabilitarlas. ![Captura de pantalla de la sección "Análisis y seguridad del código" con el botón para habilitar las {% data variables.product.prodname_dependabot_security_updates %}](/assets/images/help/repository/security-and-analysis-disable-or-enable-fpt-private.png) {% endif %}{% ifversion ghes or ghae %} -{% data variables.product.prodname_dependabot_alerts %} for your repository can be enabled or disabled by your enterprise owner. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". +Tu propietario de empresa puede habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para tu repositorio. Para obtener más información, consulta la sección "[Habilitar al Dependabot para tu empresa](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". {% endif %} ## Administrar las {% data variables.product.prodname_dependabot_alerts %} para tu organización -{% ifversion fpt or ghec %}You can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your organization. Your changes affect all repositories. +{% ifversion fpt or ghec %}Puedes habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios que le pertenecen a tu organización. Tus cambios afectan a todos los repositorios. -### Enabling or disabling {% data variables.product.prodname_dependabot_alerts %} for all existing repositories +### Habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios existentes {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security-and-analysis %} 2. Debajo de "Análisis y seguridad del código", a la derecha de las {% data variables.product.prodname_dependabot_alerts %}, haz clic en **Inhabilitar todas** o **Habilitar todas**. {% ifversion fpt or ghec %} - ![Screenshot of "Configure security and analysis" features with the "Enable all" or "Disable all" button emphasized for Dependabot alerts](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-fpt.png) + ![Captura de pantalla de las características de "Configurar el análisis y la seguridad" con énfasis en el botón "Habilitar todo" o "Inhabilitar todo" para las alertas del Dependabot](/assets/images/help/dependabot/dependabot-alerts-disable-or-enable-fpt.png) {% endif %} {% ifversion ghae %} ![Botón de "Habilitar todo" o "Inhabilitar todo" para las características de "Configurar la seguridad y el análisis"](/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png) {% endif %} {% ifversion fpt or ghec %} -3. Optionally, enable {% data variables.product.prodname_dependabot_alerts %} by default for new repositories in your organization. +3. Opcionalmente, habilita las {% data variables.product.prodname_dependabot_alerts %} predeterminadas para los repositorios en tu organización. {% ifversion fpt or ghec %} - ![Screenshot of "Enable by default" option for new repositories](/assets/images/help/dependabot/dependabot-alerts-enable-by-default-organizations.png) + ![Captura de pantalla de la opción "Habilitar predeterminadamente" para los repositorios nuevos](/assets/images/help/dependabot/dependabot-alerts-enable-by-default-organizations.png) {% endif %} {% endif %} {% ifversion fpt or ghec %} -4. Click **Disable {% data variables.product.prodname_dependabot_alerts %}** or **Enable {% data variables.product.prodname_dependabot_alerts %}** to disable or enable {% data variables.product.prodname_dependabot_alerts %} for all the repositories in your organization. +4. Haz clic en **Inhabilitar las {% data variables.product.prodname_dependabot_alerts %}** o **Habilitar las {% data variables.product.prodname_dependabot_alerts %}** para inhabilitar o habilitar las {% data variables.product.prodname_dependabot_alerts %} para todos los repositorios de tu organización. {% ifversion fpt or ghec %} - ![Screenshot of "Enable Dependabot alerts" modal with button to disable or enable feature emphasized](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts-organizations.png) + ![Captura de pantalla del modal "Habilitar las alertas del dependabot" con énfasis en el botón de la característica de inhabilitar o habilitar](/assets/images/help/dependabot/dependabot-alerts-enable-dependabot-alerts-organizations.png) {% endif %}{% endif %}{% endif %}{% ifversion ghes or ghae %} -{% data variables.product.prodname_dependabot_alerts %} for your organization can be enabled or disabled by your enterprise owner. For more information, see "[About Dependabot for GitHub Enterprise Server](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)." +El propietario de tu empresa puede habilitar o inhabilitar las {% data variables.product.prodname_dependabot_alerts %} para tu organización. Para obtener más información, consulta la sección "[Acerca del Dependabot para GitHub Enterprise Server](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)". {% endif %} diff --git a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md index 3e64fdf989..4a5b64cab5 100644 --- a/translations/es-ES/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md +++ b/translations/es-ES/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -164,9 +164,9 @@ Si programas mucho trabajo para actualizar una dependencias o decides que una al 1. Ver los detalles de una alerta. Para obtener más información, consulta la sección "[Ver las dependencias vulnerables](#viewing-dependabot-alerts)" (anteriormente). 1. Selecciona el menú desplegable de "Descartar" y haz clic en una razón para descartar la alerta.{% ifversion reopen-dependabot-alerts %} Las alertas descartadas sin fijar pueden volverse a abrir posteriormente.{% endif %} -{% ifversion dependabot-alerts-dismissal-comment %}1. Optionally, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can retrieve or set a comment by using the GraphQL API. The comment is contained in the `dismissComment` field. For more information, see "[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)" in the GraphQL API documentation. - ![Screenshot showing how to dismiss an alert via the "Dismiss" drop-down, with the option to add a dismissal comment](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) -1. Click **Dismiss alert**. +{% ifversion dependabot-alerts-dismissal-comment %}1. Optionally, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can retrieve or set a comment by using the GraphQL API. El comentario se contiene en el campo `dismissComment`. Para obtener más información, consulta la sección "[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)" en la documentación de la API de GraphQL. + ![Captura de pantalla que muestra cómo descartar una alerta a través del menú desplegable de "Descartar" con la opción para agregar un comentario de destitución](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) +1. Haz clic en **Descargar alerta**. {% else %} ![Elegir una razón para descartar la alerta a través del menú desplegable de "Descartar"](/assets/images/help/repository/dependabot-alert-dismiss-drop-down-ungrouped.png){% endif %} {% ifversion dependabot-bulk-alerts %} diff --git a/translations/es-ES/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md b/translations/es-ES/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md index 705eb03d2b..ff3e91456d 100644 --- a/translations/es-ES/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md +++ b/translations/es-ES/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md @@ -416,7 +416,7 @@ updates: ### `open-pull-requests-limit` -Predeterminadamente, {% data variables.product.prodname_dependabot %} abre un máximo de cinco solicitudes de extracción para las actualizaciones de versión. Una vez que hayan cinco solicitudes de cambio abiertas, las solicitudes nuevas se bloquearán hasta que fusiones o cierres algunas de las sollicitudes abiertas, después de lo cual, las solicitudes de cambiso nuevas pueden abrirse en actualizaciones subsecuentes. Utiliza `open-pull-requests-limit` para cambiar este límite. Esto también proporciona una forma simple de inhabilitar temporalmente las actualizaciones de versión para un administrador de paquete. +Predeterminadamente, {% data variables.product.prodname_dependabot %} abre un máximo de cinco solicitudes de extracción para las actualizaciones de versión. Once there are five open pull requests from {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_dependabot %} will not open any new requests until some of those open requests are merged or closed. Utiliza `open-pull-requests-limit` para cambiar este límite. Esto también proporciona una forma simple de inhabilitar temporalmente las actualizaciones de versión para un administrador de paquete. Esta opción no tiene impacto en las actualizaciones de seguridad que tienen un límite separado e interno de diez solicitudes de extracción abiertas. diff --git a/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md b/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md index 481ec138e4..0110c45c23 100644 --- a/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md +++ b/translations/es-ES/content/code-security/secret-scanning/about-secret-scanning.md @@ -39,7 +39,7 @@ Service providers can partner with {% data variables.product.company_short %} to {% ifversion secret-scanning-push-protection %} -You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. {% ifversion push-protection-custom-link-orgs %}Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. {% endif %}For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} diff --git a/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md index 2f2ed093ea..bfa80cfbc5 100644 --- a/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md +++ b/translations/es-ES/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -60,9 +60,21 @@ Los propietarios de las organizaciones, administradores de seguridad y administr Se mostrarán hasta cinco secretos detectados a la vez en la línea de comandos. Si ya se detectó un secreto en particular en el repositorio y la alerta ya existe, {% data variables.product.prodname_dotcom %} no lo bloqueará. +{% ifversion push-protection-custom-link-orgs %} + +Los administradores de las organizaciones pueden proporcionar un enlace personalizado que se mostrará cuando se bloquee una subida de información. Este enlace personalizado puede contener consejos y recursos específicos para la organización, tal como las instrucciones para utilizar una bóveda de secretos recomendada o a quién contactar para hacer preguntas relacionadas con el secreto bloqueado. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +![Captura de pantalla que muestra que una subida está bloqueada cuando un usuario intenta subir un secreto a un repositorio](/assets/images/help/repository/secret-scanning-push-protection-with-custom-link.png) + +{% else %} + ![Captura de pantalla que muestra que una subida está bloqueada cuando un usuario intenta subir un secreto a un repositorio](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) -{% data reusables.secret-scanning.push-protection-remove-secret %} Para obtener más información sobre los secretos bloqueados de remediación, consulta la sección "[Subir una rama que se bloqueó por una protección contra subida](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)". +{% endif %} + +{% data reusables.secret-scanning.push-protection-remove-secret %} Para obtener más información sobre los secretos de remediación bloqueados, consulta la sección "[Subir una rama que se bloqueó por una protección contra subida](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)". Si confirmas que un secreto es real y que pretendes corregirlo después, debes intentar remediarlo tan pronto como sea posible. Por ejemplo, podrías revocar el secreto y eliminarlo del historial de confirmaciones del repositorio. Los secretos reales que se expusieron deben revocarse para evitar un acceso no autorizado. Podrías considerar rotar el secreto primero antes de revocarlo. Para obtener más información, consulta la sección "[Eliminar datos confidenciales de un repositorio](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". @@ -88,6 +100,14 @@ Si {% data variables.product.prodname_dotcom %} bloquea un secreto que piensas s {% data variables.product.prodname_dotcom %} solo mostrará un secreto detectado a la vez en la IU web. Si ya se detectó un secreto en particular en el repositorio y la alerta ya existe, {% data variables.product.prodname_dotcom %} no lo bloqueará. +{% ifversion push-protection-custom-link-orgs %} + +Los administradores de las organizaciones pueden proporcionar un enlace personalizado que se mostrará cuando se bloquee una subida de información. Este enlace personalizado puede contener recursos y consejos específicos para tu organización. Por ejemplo, el enlace personalizado puede apuntar a un archivo README con información sobre la bóveda de secretos de la organización, a qué individuos y equipos escalar las preguntas o la política aprobada de la organización para trabajar con secretos y reescribir el historial de confirmaciones. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + Puedes eliminar el secreto del archivo utilizando la IU web. Una vez que elimines el secreto, el letrero en la parte superior de la página cambiará y te dirá que ahora puedes confirmar tus cambios. ![Captura de pantalla que muestra la confirmación en la Iu web después de que se corrigió un secreto](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) diff --git a/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md index 14981705dd..1add514681 100644 --- a/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md +++ b/translations/es-ES/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -16,16 +16,24 @@ shortTitle: Push a blocked branch ## About push protection for {% data variables.product.prodname_secret_scanning %} -The push protection feature of {% data variables.product.prodname_secret_scanning %} helps to prevent security leaks by scanning for secrets before you push changes to your repository. {% data reusables.secret-scanning.push-protection-overview %} For information on the secrets and service providers supported for push protection, see "[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-push-protection)." +The push protection feature of {% data variables.product.prodname_secret_scanning %} helps to prevent security leaks by scanning for secrets before you push changes to your repository. {% data reusables.secret-scanning.push-protection-overview %} Para obtener más información sobre los secretos y proveedores de servicios compatibles para la protección contra subida de información, consulta la sección "[Patrones de los {% data variables.product.prodname_secret_scanning_caps %}](/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-push-protection)". {% data reusables.secret-scanning.push-protection-remove-secret %} {% tip %} -**Tip** If {% data variables.product.prodname_dotcom %} blocks a secret that you believe is safe to push, you can allow the secret and specify the reason why it should be allowed. For more information about bypassing push protection for a secret, see "[Allowing a blocked secret to be pushed](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#allowing-a-blocked-secret-to-be-pushed)" and "[Bypassing push protection for a secret](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)" for the command line and the web UI, respectively. +**Tip** If {% data variables.product.prodname_dotcom %} blocks a secret that you believe is safe to push, you can allow the secret and specify the reason why it should be allowed. Para obtener más información sobre cómo omitir la protección contra subida de información para un secreto, consulta las secciones "[Permitir que se suba un secreto bloqueado](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#allowing-a-blocked-secret-to-be-pushed)" y "[Omitir la protección contra subida de información para un secreto](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)" para la línea de comandos y la IU web, respectivamente. {% endtip %} +{% ifversion push-protection-custom-link-orgs %} + +Organization admins can provide a custom link that will be included in the message from {% data variables.product.product_name %} when your push is blocked. This custom link can contain resources and advice specific to your organization and its policies. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + ## Resolving a blocked push on the command line {% data reusables.secret-scanning.push-protection-command-line-choice %} diff --git a/translations/es-ES/content/code-security/secret-scanning/secret-scanning-patterns.md b/translations/es-ES/content/code-security/secret-scanning/secret-scanning-patterns.md index d6797c26cd..793062014e 100644 --- a/translations/es-ES/content/code-security/secret-scanning/secret-scanning-patterns.md +++ b/translations/es-ES/content/code-security/secret-scanning/secret-scanning-patterns.md @@ -21,10 +21,10 @@ redirect_from: {% ifversion fpt or ghec %} ## Acerca de los patrones del {% data variables.product.prodname_secret_scanning %} -{% data variables.product.product_name %} maintains these different sets of {% data variables.product.prodname_secret_scanning %} patterns: +{% data variables.product.product_name %} mantiene estos diversos conjuntos de patrones del {% data variables.product.prodname_secret_scanning %}: 1. **Patrones socios.** Se utilizan para detectar secretos potenciales en todos los repositorios públicos. Para obtener más detalles, consulta la sección "[Secretos compatibles para los patrones asociados](#supported-secrets-for-partner-patterns)". -2. **Patrones de seguridad avanzada.** Se utilizan para detectar secretos potenciales en los repositorios que tienen habilitado el {% data variables.product.prodname_secret_scanning %}. {% ifversion ghec %} For details, see "[Supported secrets for advanced security](#supported-secrets-for-advanced-security)."{% endif %}{% ifversion secret-scanning-push-protection %} +2. **Patrones de seguridad avanzada.** Se utilizan para detectar secretos potenciales en los repositorios que tienen habilitado el {% data variables.product.prodname_secret_scanning %}. {% ifversion ghec %} Para obtener más detalles, consulta la sección "[Secretos compatibles para la seguridad avanzada](#supported-secrets-for-advanced-security)".{% endif %}{% ifversion secret-scanning-push-protection %} 3. **Push protection patterns.** Used to detect potential secrets in repositories with {% data variables.product.prodname_secret_scanning %} as a push protection enabled. For details, see "[Supported secrets for push protection](#supported-secrets-for-push-protection)."{% endif %} {% ifversion fpt %} diff --git a/translations/es-ES/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/translations/es-ES/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md index 679346062d..b8e4e66171 100644 --- a/translations/es-ES/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md +++ b/translations/es-ES/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -12,25 +12,25 @@ shortTitle: Registro de imagen privado ## Acerca de los registros de imagen y {% data variables.product.prodname_github_codespaces %} privados -Un registro es un espacio seguro para almacenar, administrar y recuperar imágenes de contenedor privadas. Puedes utilizar uno para almacenar una o más imágenes. Hay muchos ejemplos de registros, tales como el Registro de Contenedores de {% data variables.product.prodname_dotcom %}, Registro de Contenedores de Azure o DockerHub. +Un registro es un espacio seguro para almacenar, administrar y recuperar imágenes de contenedor privadas. Puedes utilizar uno para almacenar una o más imágenes. There are many examples of registries, such as {% data variables.product.prodname_container_registry %}, {% data variables.product.prodname_npm_registry %}, Azure Container Registry, or DockerHub. -El Registro de Contenedores de {% data variables.product.prodname_dotcom %} puede configurarse para extraer imágenes de contenedor sin problemas, sin tener que proporcionar credenciales de autenticación a {% data variables.product.prodname_github_codespaces %}. Para otros registros de imágenes, debes crear secretos en {% data variables.product.prodname_dotcom %} para almacenar los detalles de acceso, los cuales permitirán que los {% data variables.product.prodname_codespaces %} accedan a las imágenes almacenadas en dicho registro. +{% data variables.product.prodname_ghcr_and_npm_registry %} can be configured to allow container images to be pulled seamlessly into {% data variables.product.prodname_github_codespaces %} during codespace creation, without having to provide any authentication credentials. Para otros registros de imágenes, debes crear secretos en {% data variables.product.prodname_dotcom %} para almacenar los detalles de acceso, los cuales permitirán que los {% data variables.product.prodname_codespaces %} accedan a las imágenes almacenadas en dicho registro. -## Acceder a las imágenes almacenadas en el Registro de Contenedores de {% data variables.product.prodname_dotcom %} +## Accessing images stored in {% data variables.product.prodname_ghcr_and_npm_registry %} -El Registro de Contenedores de {% data variables.product.prodname_dotcom %} es la manera más fácil de que {% data variables.product.prodname_codespaces %} consuma imágenes de contenedor de devcontainer. +{% data variables.product.prodname_ghcr_and_npm_registry %} provide the easiest way for {% data variables.product.prodname_codespaces %} to consume dev container images. -Para obtener más información, consulta la sección "[Trabajar con el registro de contenedores](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)". +For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)" and "[Working with the npm registry](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)". ### Acceder a una imagen publicada en el mismo repositorio que el codespace -Si publicas una imagen de contenedor en el Registro de Contenedores de {% data variables.product.prodname_dotcom %} en el mismo repositorio que el codespace en el cuál se lanzará, automáticamente podrás recuperar esta imagen cuando crees el codespace. No tendrás que proporcionar credenciales adicionales, a menos de que la opción **heredar acceso del repositorio** se haya deseleccionado cuando se publique la imagen de contenedor. +If you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %} in the same repository that the codespace is being launched in, you will automatically be able to fetch that image on codespace creation. No tendrás que proporcionar credenciales adicionales, a menos de que la opción **heredar acceso del repositorio** se haya deseleccionado cuando se publique la imagen de contenedor. #### Heredar el acceso del repositorio desde el cual se publicó la imagen -Predeterminadamente, cuando publicas una imagen de contenedor en el Registro de Contenedores de {% data variables.product.prodname_dotcom %}, esta hereda la configuración de acceso del repositorio desde el cual se publicó. Por ejemplo, si el repositorio es público, la imagen también es pública. Si el repositorio es privado, la imagen también es privada, pero es accesible desde el repositorio. +By default, when you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %}, the image inherits the access setting of the repository from which the image was published. Por ejemplo, si el repositorio es público, la imagen también es pública. Si el repositorio es privado, la imagen también es privada, pero es accesible desde el repositorio. -Este comportamiento se controla mediante la opción **heredar acceso desde el repositorio**. La opción **heredar acceso desde el repositorio** se encuentra seleccionada predeterminadamente cuando publicas a través de {% data variables.product.prodname_actions %}, pero no cuando se publica directamente al Registro de Contenedores de {% data variables.product.prodname_dotcom %} utilizando un token de acceso personal (PAT). +Este comportamiento se controla mediante la opción **heredar acceso desde el repositorio**. **Inherit access from repo** is selected by default when publishing via {% data variables.product.prodname_actions %}, but not when publishing directly to {% data variables.product.prodname_ghcr_or_npm_registry %} using a Personal Access Token (PAT). Si la opción de **heredar acceso desde el repositorio** no se seleccionó cuando se publicó la imagen, puedes agregar el repositorio manualmente a los controles de acceso de la imagen del contenedor publicado. Para obtener más información, consulta la sección "[Configurar el control de accesos y la visibilidad de un paquete](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#inheriting-access-for-a-container-image-from-a-repository)". @@ -46,13 +46,13 @@ Si quieres permitir que un subconjunto de repositorios de una organización acce ### Publicar una imagen de contenedor desde un codespace -El acceso fácil desde un codespace hasta el Registrod de Contenedores de {% data variables.product.prodname_dotcom %} se limita a las imágenes de contenedor que se extraen. Si quieres publicar una imagen de contenedor desde dentro de un codespace, debes utilizar un token de acceso personal (PAT) con el alcance `write:packages`. +Seamless access from a codespace to {% data variables.product.prodname_ghcr_or_npm_registry %} is limited to pulling container images. Si quieres publicar una imagen de contenedor desde dentro de un codespace, debes utilizar un token de acceso personal (PAT) con el alcance `write:packages`. -Te recomendamos publicar imágenes a través de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Publicar imágenes de Docker](/actions/publishing-packages/publishing-docker-images)". +Te recomendamos publicar imágenes a través de {% data variables.product.prodname_actions %}. For more information, see "[Publishing Docker images](/actions/publishing-packages/publishing-docker-images)" and "[Publishing Node.js packages](/actions/publishing-packages/publishing-nodejs-packages)." ## Acceder a las imágenes almacenadas en otros registros de contenedor -Si estás accediendo a una imagen de contenedor desde un registro diferente al Registro de Contenedores de {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_codespaces %} verifica la presencia de tres secretos, los cuales definen el nombre del servidor, nombre de usuario y token de acceso personal (PAT) de un registro de contenedores. Si se encuentran estos secretos, {% data variables.product.prodname_github_codespaces %} hará que el registro esté disponible dentro de tu codespace. +If you are accessing a container image from a registry that isn't {% data variables.product.prodname_ghcr_or_npm_registry %}, {% data variables.product.prodname_codespaces %} checks for the presence of three secrets, which define the server name, username, and personal access token (PAT) for a container registry. Si se encuentran estos secretos, {% data variables.product.prodname_github_codespaces %} hará que el registro esté disponible dentro de tu codespace. - `<*>_CONTAINER_REGISTRY_SERVER` - `<*>_CONTAINER_REGISTRY_USER` diff --git a/translations/es-ES/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md b/translations/es-ES/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md index 5cc3e82a01..300d99c8d7 100644 --- a/translations/es-ES/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md +++ b/translations/es-ES/content/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces.md @@ -17,7 +17,7 @@ redirect_from: ## Acerca de {% data variables.product.prodname_vscode_command_palette %} -La paleta de comandos es una de las características focales de {% data variables.product.prodname_vscode %} y está disponible para que la utilices en {% data variables.product.prodname_github_codespaces %}. La {% data variables.product.prodname_vscode_command_palette %} te permite acceder a muchos comandos para {% data variables.product.prodname_codespaces %} y {% data variables.product.prodname_vscode_shortname %}. Para obtener más información sobre cómo utilizar la {% data variables.product.prodname_vscode_command_palette_shortname %}, consulta la sección "[Interfaz de usuario](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette)" en la documentación de {% data variables.product.prodname_vscode_shortname %}. +La paleta de comandos es una de las características focales de {% data variables.product.prodname_vscode %} y está disponible para que la utilices en {% data variables.product.prodname_github_codespaces %}. La paleta de comandos te permite acceder a muchos comandos para los {% data variables.product.prodname_codespaces %} y para {% data variables.product.prodname_vscode_shortname %}. Para obtener más información sobre cómo utilizar la {% data variables.product.prodname_vscode_command_palette_shortname %}, consulta la sección "[Interfaz de usuario](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette)" en la documentación de {% data variables.product.prodname_vscode_shortname %}. ## Acceder a la {% data variables.product.prodname_vscode_command_palette_shortname %} diff --git a/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index 16f341be45..ffe2c1964a 100644 --- a/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/es-ES/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -88,8 +88,6 @@ Puedes agregar más scripts, preferencias o archivos de configuración a tu repo Si tu codespace no puede recoger los ajustes de configuración de los dotfiles, consulta la sección "[Solucionar problemas de dotfiles para {% data variables.product.prodname_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces)". -## Otros ajustes disponibles - También puedes personalizar los {% data variables.product.prodname_codespaces %} utilizando [ajustes de {% data variables.product.prodname_codespaces %}](https://github.com/settings/codespaces) adicionales: - Para habilitar la verificación de GPG, consulta la sección "[Administrar la verificación de GPG para los {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)". diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md index 5e5378d571..f626933523 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -46,23 +46,20 @@ If you want to use Git hooks for your codespace, then you should set up hooks us When you have access to {% data variables.product.prodname_github_codespaces %}, you'll see a "Codespaces" tab within the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu when you view a repository. -You'll have access to codespaces under the following conditions: +You'll have access to {% data variables.product.prodname_github_codespaces %} under the following conditions: -* You are a member of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. -* An organization owner has granted you access to {% data variables.product.prodname_codespaces %}. -* The repository is owned by the organization that has enabled {% data variables.product.prodname_codespaces %}. +Either all of these are true: +* You are a member, or outside collaborator, of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. +* The organization owner has allowed you to create codespaces at the organization's expense. +* The repository for which you want to create a codespace is owned by this organization. -{% note %} - -**Note:** Individuals who have already joined the beta with their personal {% data variables.product.prodname_dotcom %} account will not lose access to {% data variables.product.prodname_codespaces %}, however {% data variables.product.prodname_codespaces %} for individuals will continue to remain in beta. - -{% endnote %} - -Organization owners can allow all members of the organization to create codespaces, limit codespace creation to selected organization members, or disable codespace creation. For more information about managing access to codespaces within your organization, see "[Enable Codespaces for users in your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)." +Or both of these are true: +* You are participating in the beta of {% data variables.product.prodname_codespaces %} for individual users. +* Either you own the repository for which you want to create a codespace, or it is owned by an organization of which you are either a member or an outside collaborator. Before {% data variables.product.prodname_codespaces %} can be used in an organization, an owner or billing manager must have set a spending limit. For more information, see "[About spending limits for Codespaces](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)." -If you would like to create a codespace for a repository owned by your personal account or another user, and you have permission to create repositories in an organization that has enabled {% data variables.product.prodname_github_codespaces %}, you can fork user-owned repositories to that organization and then create a codespace for the fork. +Organization owners can specify who can create and use codespaces at the organization's expense. Organization owners can also prevent any codespace usage being charged to the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." ## Creating a codespace diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md b/translations/es-ES/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md new file mode 100644 index 0000000000..6c44720371 --- /dev/null +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning.md @@ -0,0 +1,120 @@ +--- +title: Getting started with GitHub Codespaces for machine learning +shortTitle: Machine learning +intro: 'Learn about working on machine learning projects with {% data variables.product.prodname_github_codespaces %} and its out-of-the-box tools.' +product: '{% data reusables.gated-features.codespaces %}' +versions: + fpt: '*' + ghec: '*' +type: tutorial +topics: + - Codespaces + - Developer +--- + +## Introducción + +This guide introduces you to machine learning with {% data variables.product.prodname_github_codespaces %}. You’ll build a simple image classifier, learn about some of the tools that come preinstalled in {% data variables.product.prodname_github_codespaces %}, configure your development environment for NVIDIA CUDA, and use {% data variables.product.prodname_cli %} to open your codespace in JupyterLab. + +## Prerequisite + +You have access to {% data variables.product.prodname_github_codespaces %}. Para obtener más información, consulta la sección "[Crear un codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces)". + +## Build a simple image classifier + +We'll use a Jupyter notebook to build a simple image classifier. + +Jupyter notebooks are sets of cells that you can execute one after another. The notebook we'll use includes a number of cells that build an image classifier using [PyTorch](https://pytorch.org/). Each cell is a different phase of that process: download a dataset, set up a neural network, train a model, and then test that model. + +We'll run all of the cells, in sequence, to perform all phases of building the image classifier. When we do this Jupyter saves the output back into the notebook so that you can examine the results. + +### Creating a repository and a codespace + +1. Go to the [github/codespaces-getting-started-ml](https://github.com/github/codespaces-getting-started-ml) template repository and click **Use this template**. +{% data reusables.codespaces.open-codespace-from-template-repo %} + + By default, a codespace for this repository opens in a web-based version of {% data variables.product.prodname_vscode %}. + +### 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). + +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. +1. Click the Python kernel link at the top right of the editor. + + ![Screenshot of the Python kernal link](/assets/images/help/codespaces/jupyter-python-kernel-link.png) + +1. In the drop-down menu, choose the kernel in the directory `/opt/python/latest/bin/python`. + + ![Screenshot of the Python kernal drop-down menu](/assets/images/help/codespaces/jupyter-python-kernel-dropdown.png) + +### Build the image classifier + +The image classifier notebook contains all the code you need to download a dataset, train a neural network, and evaluate its performance. + +1. Click **Run All** to execute all of the notebook’s cells. + + ![Screenshot of the Run All button](/assets/images/help/codespaces/jupyter-run-all.png) + +1. Scroll down to view the output of each cell. + + ![Screenshot of Step 3 in the editor](/assets/images/help/codespaces/jupyter-notebook-step3.png) + +## Configure NVIDIA CUDA for your codespace + +Some software, such as TensorFlow, requires you to install NVIDIA CUDA to use your codespace’s GPU. Where this is the case, you can create your own custom configuration, by using a `devcontainer.json` file, and specify that CUDA should be installed. For more information on creating a custom configuration, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#creating-a-custom-dev-container-configuration)." + +{% note %} + +**Note**: For full details of the script that's run when you add the `nvidia-cuda` feature, see [the devcontainers/features repository](https://github.com/devcontainers/features/tree/main/src/nvidia-cuda). + +{% endnote %} + +1. Within a codespace, open the `.devcontainer/devcontainer.json` file in the editor. +1. Add a top-level `features` object with the following contents: + + ```json{:copy} + “features”: { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "installCudnn": true + } + } + ``` + + For more information about the `features` object, see the [development containers specification](https://containers.dev/implementors/features/#devcontainer-json-properties). + + If you are using the `devcontainer.json` file from the image classifier repository you created for this tutorial, your `devcontainer.json` file will now look like this: + + ``` + { + "customizations": { + "vscode": { + "extensions": [ + "ms-python.python", + "ms-toolsai.jupyter" + ] + } + }, + “features”: { + "ghcr.io/devcontainers/features/nvidia-cuda:1": { + "installCudnn": true + } + } + } + ``` + +1. Save the change. +{% data reusables.codespaces.rebuild-command %} + The codespace container will be rebuilt. This will take several minutes. When the rebuild is complete the codespace is automatically reopened. +1. Commit the change to the repository so that CUDA will be installed in any new codespaces you create from this repository in future. + +## Open your codespace in JupyterLab + +The default container image that's used by {% data variables.product.prodname_github_codespaces %} includes JupyterLab, the web-based Jupyter IDE. You can use {% data variables.product.prodname_cli %} to open your codespace in JupyterLab without having to install anything else on your codespace. + +1. In the terminal, enter the {% data variables.product.prodname_cli %} command `gh cs jupyter`. +1. Choose the codespace you want to open. + + ![Screenshot of opening a codespace from the terminal](/assets/images/help/codespaces/open-codespace-in-jupyter.png) + diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/index.md b/translations/es-ES/content/codespaces/developing-in-codespaces/index.md index e67f1aa1b7..c2468004c7 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/index.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/index.md @@ -18,6 +18,7 @@ children: - /forwarding-ports-in-your-codespace - /default-environment-variables-for-your-codespace - /connecting-to-a-private-network + - /getting-started-with-github-codespaces-for-machine-learning - /using-github-codespaces-in-visual-studio-code - /using-github-codespaces-with-github-cli --- diff --git a/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md b/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md index 519f365f11..0f3f410883 100644 --- a/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md +++ b/translations/es-ES/content/codespaces/developing-in-codespaces/renaming-a-codespace.md @@ -27,7 +27,9 @@ To find the display name of a codespace: ![Screenshot of the Remote Explorer in VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} - In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. + ### Permanent codespace names In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. Por ejemplo: `octocat-myrepo-gmc7`. You can't change this name. diff --git a/translations/es-ES/content/codespaces/getting-started/deep-dive.md b/translations/es-ES/content/codespaces/getting-started/deep-dive.md index f22981969a..b4afca5e51 100644 --- a/translations/es-ES/content/codespaces/getting-started/deep-dive.md +++ b/translations/es-ES/content/codespaces/getting-started/deep-dive.md @@ -73,7 +73,7 @@ As you develop in your codespace, it will save any changes to your files every f ### Closing or stopping your codespace -To stop your codespace you can [use the {% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)). If you exit your codespace without running the stop command (for example, closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue until a window of inactivity occurs, after which the codespace will stop. By default, the window of inactivity is 30 minutes. +To stop your codespace you can [use the {% data variables.product.prodname_vscode_command_palette %}](/codespaces/codespaces-reference/using-the-vs-code-command-palette-in-codespaces#suspending-or-stopping-a-codespace) (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)). If you exit your codespace without running the stop command (for example, closing the browser tab), or if you leave the codespace running without interaction, the codespace and its running processes will continue until a window of inactivity occurs, after which the codespace will stop. By default, the window of inactivity is 30 minutes. When you close or stop your codespace, all uncommitted changes are preserved until you connect to the codespace again. diff --git a/translations/es-ES/content/codespaces/getting-started/quickstart.md b/translations/es-ES/content/codespaces/getting-started/quickstart.md index 098e969ac0..22e3c46b23 100644 --- a/translations/es-ES/content/codespaces/getting-started/quickstart.md +++ b/translations/es-ES/content/codespaces/getting-started/quickstart.md @@ -25,12 +25,7 @@ Para obtener más información sobre cómo funcionan los {% data variables.produ ## Crea tu codespace 1. Navega al [repositorio de plantilla](https://github.com/github/haikus-for-codespaces) y selecciona **Utilizar esta plantilla**. - -1. Elige un propietario para el repositorio nuevo, ingresa un nombre de repositorio, selecciona tu ajuste de privacidad preferido y haz clic en **Crear repositorio desde plantilla**. - -1. Navega a la página principal del repositorio recientemente creado. Debajo del nombre de repositorio, utiliza el menú desplegable **{% octicon "code" aria-label="The code icon" %} Código** y la pestaña de **Codespaces** y haz clic en **Crear codespace en rama principal**. - - ![Botón de codespace nuevo](/assets/images/help/codespaces/new-codespace-button.png) +{% data reusables.codespaces.open-codespace-from-template-repo %} ## Ejecutar la aplicación diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md index cf0f73c0a3..477aff088e 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Enabling GitHub Codespaces for your organization -shortTitle: Habilitar Codespaces -intro: 'Puedes controlar qué usuarios de tu organización pueden utilizar {% data variables.product.prodname_github_codespaces %}.' +shortTitle: 'Habilitar el {% data variables.product.prodname_codespaces %}' +intro: 'You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization''s expense.' product: '{% data reusables.gated-features.codespaces %}' -permissions: 'To manage user permissions for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +permissions: 'To alter an organization''s billing settings, you must be an organization owner.' redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization @@ -13,25 +13,23 @@ versions: type: how_to topics: - Codespaces - - Permissions + - Billing - Administrator --- - ## Acerca de cómo habilitar los {% data variables.product.prodname_github_codespaces %} para tu organización -Los propietarios de organización pueden controlar qué usuarios de tu organización pueden crear y utilizar codespaces. +Organization owners can control which users in your organization can create and use codespaces at the organization's expense. -Para utilizar codespaces en tu organización, debes hacer lo siguiente: +Only people who can clone a repository can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must: + +- Ensure that users have at least write access to the repositories where they want to use a codespace. Para obtener más información, consulta la sección "[Administrar los equipos y personas con acceso a tu repositorio](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)". +- Asegúrate de que tu organización no tenga habilitada una lista de direcciones IP permitidas. Para obtener más información, consulta la sección "[Administrar las direcciones IP permitidas para tu organización](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% else %}".{% endif %} + +To allow people to create codespaces for which your organization will be billed, you must: -- Asegurarte de que los usuarios tengan [por lo menos acceso de escritura](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization) en los repositorios en donde quieren utilizar un codespace. -- [Habilitar los {% data variables.product.prodname_github_codespaces %} para los usuarios en tu organización](#enable-codespaces-for-users-in-your-organization). Puedes elegir permitir los {% data variables.product.prodname_codespaces %} para los usuarios seleccionados o solo para algunos específicos. - [Configurar un límite de gastos](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) -- Asegúrate de que tu organización no tenga habilitada una lista de direcciones IP permitidas. Para obtener más información, consulta la sección "[Administrar las direcciones IP permitidas para tu organización](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list){% ifversion fpt %}" en la documentación de {% data variables.product.prodname_ghe_cloud %}.{% else %}".{% endif %} - -Predeterminadamente, un codespace solo puede acceder al repositorio desde el cual se creó. Si quieres que los codespaces de tu organización puedan acceder a otros repositorios de organización a los que puede acceder el creador de dichos codespaces, consulta la sección "[Administrar el acceso y la seguridad de los {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". - -## Habilitar los {% data variables.product.prodname_codespaces %} para los usuarios en tu organización +- [Choose who can create codespaces that are billed to your organization](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) {% ifversion fpt %} {% note %} @@ -40,31 +38,44 @@ Predeterminadamente, un codespace solo puede acceder al repositorio desde el cua {% endnote %} {% endif %} + +Predeterminadamente, un codespace solo puede acceder al repositorio desde el cual se creó. Si quieres que los codesapces en tu organización puedan acceder a otros repositorios en ella a los cuales tenga acceso el creador del codespace, consulta la sección "[Administrar el acceso de los repositorios a los codespaces de tu organización](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)". + +## Choose who can create codespaces that are billed to your organization + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Debajo de "Permisos de usuario", selecciona una de las siguientes opciones: +1. Under "Billing," select one of the following options: - * **Usuarios selectos** para seleccionar miembros específicos de la organización que puedan utilizar {% data variables.product.prodname_codespaces %}. - * **Permitir para todos los miembros** para permitir que todos los miembros de tu organización utilicen {% data variables.product.prodname_codespaces %}. - * **Permitir para todos los miembros y colaboradores externos** para permitir que todos los miembros de tu organización, así como los colaboradores externos, utilicen {% data variables.product.prodname_codespaces %}. + * **Disabled** - Your organization will not be charged for codespace usage. {% data variables.product.prodname_codespaces %} created for your organization's repositories will be billed to the individual users who create them. + * **Selected members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by selected members will be billed to the organization. + * **All members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by members of your organization will be billed to the organization. + * **All members and outside collaborators** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by organization members and outside collaborators will be billed to the organization. - ![Botones radiales de "Permisos de usuario"](/assets/images/help/codespaces/org-user-permission-settings-outside-collaborators.png) + ![Radio buttons for "Billing"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) {% note %} - **Nota:** Cuando seleccionas **Permitir para todos los miembros y colaboradores externos**, todos los colaboradores externos que hayan agregado información a repositorios específicos podrán crear y utilizar {% data variables.product.prodname_codespaces %}. Se le facturará a tu organización por todo el uso en el que incurrieron los colaboradores externos. Para obtener más información sobre cómo administrar colaboradores externos, consulta la sección "[Acerca de los colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". + **Nota:** Cuando seleccionas **Todos los miembros y colaboradores externos**, todos los colaboradores externos que se hayan agregado a los repositorios específicos pueden crear y utilizar {% data variables.product.prodname_codespaces %} para dichos repositorios y se facturará a tu organización por dicho uso. Para obtener más información sobre cómo administrar colaboradores externos, consulta la sección "[Acerca de los colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". {% endnote %} 1. Haz clic en **Save ** (guardar). +1. If you chose **Selected members**, an input box is displayed for you to enter the names of users you want to select. + + ![Input box for selecting users](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) ## Inhabilitar los {% data variables.product.prodname_codespaces %} para tu organización +You can prevent the creation and use of codespaces billable to your organization. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Debajo de "Permisos de usuario", selecciona **Inhabilitado**. +1. Under "Billing," select **Disabled**. ## Configurar un límite de gastos diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index 25a9ee47ce..e1870c7457 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -35,11 +35,15 @@ Puedes configurar el límite de uso de los codespaces en tu organización o repo ## Inhabilitar o limitar los {% data variables.product.prodname_codespaces %} -Puedes inhabilitar el uso de los {% data variables.product.prodname_codespaces %} en tu organización o repositorio. Para obtener más información, consulta la sección "[Administrar el acceso de un repositorio a los codespces de tu organización](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". +You can disable all use of {% data variables.product.prodname_github_codespaces %} that would be billed to your organization. Alternatively, you can specify which organization members or collaborators can use {% data variables.product.prodname_codespaces %} at your organization's expense. Para obtener más información, consulta la sección "[Habilitar los {% data variables.product.prodname_github_codespaces %} para tu organización](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)". -También puedes limitar a los usuarios individuales que pueden utilizar {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los permisos de los usuarios para tu organización](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)". +{% data reusables.codespaces.codespaces-disabling-org-billing %} -Puedes limitar la elección de tipos de máquina que se encuentra disponible para los repositorios que pertenecen a tu organización. Esto te permite prevenir que las personas utilicen máquinas con recursos excedidos para sus codespaces. Para obtener más información, consulta la sección "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)". +You can configure which repositories can be accessed from codespaces created for a particular repository. Si necesitas más información, consulta la sección "[Administrar el acceso a otros repositorios dentro de tu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". + +You can limit the choice of types of machine that are available for codespaces created from repositories owned by your organization. This allows you to prevent people using overly resourced machines for their codespaces, and incurring unnecessary charges. Para obtener más información, consulta la sección "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)". + +You can also restrict how long a codespace can remain unused before it is automatically deleted. This can help to reduce storage costs for {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Restringir el periodo de retención para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". ## Borrar los codespaces sin utilizar @@ -47,6 +51,6 @@ Tus usuarios pueden borrar sus codespaces en https://github.com/codespaces y des {% note %} -**Nota:** Solo la persona que creó un codespace podrá borrarlo. Actualmente no hay forma de que los propietarios de las organizaciones borren los codespaces que se crearon dentro de su organización. +**Note:** Codespaces are automatically deleted after they have been stopped and have remained inactive for a defined number of days. Para obtener más información, consulta la sección "[Restringir el periodo de retención para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". A codespace can only be manually deleted by the person who created the codespace. {% endnote %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md index 25cc68e82c..e64a1eeb9b 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -20,7 +20,7 @@ redirect_from: {% warning %} -**Aviso de obsolesencia**: El acceso y ajuste de seguridad que se describen anteriormente ahora son obsoletos y solo se documentan aquí como referencia. Para habilitar un acceso expandido a otros repositorios, agrega los permisos solicitados a tu definición de contenedor dev. Si necesitas más información, consulta la sección "[Administrar el acceso a otros repositorios dentro de tu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". +**Aviso de obsolesencia**: El acceso y ajuste de seguridad que se describen anteriormente ahora son obsoletos y solo se documentan aquí como referencia. Para habilitar el acceso expandido a otros repositorios, agrega los permisos solicitados a tu archivo de configuración de `devcontainer.json`. Si necesitas más información, consulta la sección "[Administrar el acceso a otros repositorios dentro de tu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". {% endwarning %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 44dfc3af19..2995884dcf 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -43,6 +43,8 @@ Por ejemplo, podrías crear una política en toda la organización, la cual rest Si agregas una política a nivel organizacional, deberías configurarla en la elección de tipos de máquina más grande que deberá estar disponible para cualquier repositorio de tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Agregar una política para limitar los tipos de máquina disponibles {% data reusables.profile.access_org %} diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index 0423976756..bef735a58a 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -36,10 +36,12 @@ If someone sets the default idle timeout to 90 minutes in their personal setting ### Configurar políticas específicas para los repositorios y a lo largo de la organización -When you create a policy, you choose whether it applies to all repositories in your organization, or only to specified repositories. If you create an organization-wide policy with a timeout constraint, then the timeout constraints in any policies that are targeted at specific repositories must fall within the restriction configured for the entire organization. The shortest timeout period - in an organization-wide policy, a policy targeted at specified repositories, or in someone's personal settings - is applied. +Cuando creas una política, eliges si esta aplica a todos los repositorios de tu organización o solo a algunos específicos. If you create an organization-wide policy with a timeout constraint, then the timeout constraints in any policies that are targeted at specific repositories must fall within the restriction configured for the entire organization. The shortest timeout period - in an organization-wide policy, a policy targeted at specified repositories, or in someone's personal settings - is applied. If you add an organization-wide policy with a timeout constraint, you should set the timeout to the longest acceptable period. You can then add separate policies that set the maximum timeout to a shorter period for specific repositories in your organization. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to set a maximum idle timeout period {% data reusables.profile.access_org %} @@ -51,7 +53,7 @@ If you add an organization-wide policy with a timeout constraint, you should set 1. Haz clic en {% octicon "pencil" aria-label="The edit icon" %} para editar la restricción. - ![Edit the timeout constraint](/assets/images/help/codespaces/edit-timeout-constraint.png) + ![Editar la restricción de tiempo de espera](/assets/images/help/codespaces/edit-timeout-constraint.png) 1. Enter the maximum number of minutes codespaces can remain inactive before they time out, then click **Save**. @@ -65,9 +67,9 @@ The policy will be applied to all new codespaces that are created, and to existi ## Editar una política -You can edit an existing policy. Por ejemplo, puede que quieras agregar o eliminar restricciones hacia o desde una política. +Puedes editar una política existente. Por ejemplo, puede que quieras agregar o eliminar restricciones hacia o desde una política. -1. Muestra la página de "Políticas del Codespace". For more information, see "[Adding a policy to set a maximum idle timeout period](#adding-a-policy-to-set-a-maximum-idle-timeout-period)." +1. Muestra la página de "Políticas del Codespace". Para obtener más información, consulta la sección "[Agregar una política para configurar un periodo de tiempo de inactividad máximo](#adding-a-policy-to-set-a-maximum-idle-timeout-period)". 1. Haz clic en el nombre de la política que quieres editar. 1. Haz los cambios requeridos y luego haz clic en **Guardar**. diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index 9cea136f11..9ba1e7cc4a 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -16,9 +16,9 @@ topics: {% data variables.product.prodname_codespaces %} are automatically deleted after they have been stopped and have remained inactive for a defined number of days. The retention period for each codespace is set when the codespace is created and does not change. -Everyone who has access to {% data variables.product.prodname_github_codespaces %} can configure a retention period for the codespaces they create. The initial setting for this default retention period is 30 days. Individual users can set this period within the range 0-30 days. For more information, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." +Everyone who has access to {% data variables.product.prodname_github_codespaces %} can configure a retention period for the codespaces they create. The initial setting for this default retention period is 30 days. Individual users can set this period within the range 0-30 days. Para obtener más información, consulta la sección "[Configurar el borrado automático de tus codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)". -As an organization owner, you may want to configure constraints on the maximum retention period for codespaces created for the repositories owned by your organization. This can help you to limit the storage costs associated with codespaces that are stopped and then left unused until they are automatically deleted. For more information about storage charges, see "[About billing for {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)." You can set a maximum retention period for all, or for specific, repositories owned by your organization. +As an organization owner, you may want to configure constraints on the maximum retention period for codespaces created for the repositories owned by your organization. This can help you to limit the storage costs associated with codespaces that are stopped and then left unused until they are automatically deleted. Para obtener más información sobre los cargos de almacenamiento, consulta la sección "[Acerca de la facturación para {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)". You can set a maximum retention period for all, or for specific, repositories owned by your organization. ### Configurar políticas específicas para los repositorios y a lo largo de la organización @@ -26,6 +26,8 @@ Cuando creas una política, eliges si esta aplica a todos los repositorios de tu If you add an organization-wide policy with a retention constraint, you should set the retention period to the longest acceptable period. You can then add separate policies that set the maximum retention to a shorter period for specific repositories in your organization. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to set a maximum codespace retention period {% data reusables.profile.access_org %} @@ -54,7 +56,7 @@ If you add an organization-wide policy with a retention constraint, you should s {% data reusables.codespaces.codespaces-policy-targets %} 1. Si quieres agregar otra restricción a la política, haz clic en **Agregar restricción** y elige otra de ellas. Para obtener información sobre otras restricciones, consulta las secciones "[Restringir el acceso a los tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)", "[Restringir la visibilidad de los puertos reenviados](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" y "[Restringir el periodo de inactividad](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)". -1. After you've finished adding constraints to your policy, click **Save**. +1. Después de que termines de agregar restricciones a tu política, haz clic en **Guardar**. The policy will be applied to all new codespaces that are created. @@ -64,7 +66,7 @@ Puedes editar una política existente. Por ejemplo, puede que quieras agregar o The retention period constraint is only applied to codespaces when they are created. Editing a policy has no effect on existing codespaces. -1. Muestra la página de "Políticas del Codespace". For more information, see "[Adding a policy to set a maximum codespace retention period](#adding-a-policy-to-set-a-maximum-codespace-retention-period)." +1. Muestra la página de "Políticas del Codespace". Para obtener más información, consulta la sección "[Agregar una política para configurar un periodo de retención máximo de codespaces](#adding-a-policy-to-set-a-maximum-codespace-retention-period)". 1. Haz clic en el nombre de la política que quieres editar. 1. Haz los cambios requeridos y luego haz clic en **Guardar**. diff --git a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index c3d4d390f1..c44c93e3df 100644 --- a/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/translations/es-ES/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -36,6 +36,8 @@ Por ejemplo, podrías crear una política en toda la organización que restrinja Si agregas una política de toda la organización, deberías configurarla para que tenga la opción de visibilidad más indulgente disponible para cualquier repositorio en tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Agregar una política para limitar las opciones de visibilidad de puerto {% data reusables.profile.access_org %} diff --git a/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md b/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md index 16112fefc9..13c69ceb0c 100644 --- a/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md +++ b/translations/es-ES/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md @@ -40,43 +40,43 @@ Antes de que configures las precompilaciones para tu proyecto, se debe cumplir c {% note %} - **Note**: Any branches created from a prebuild-enabled base branch will typically also get prebuilds for the same dev container configuration. For example, if you enable prebuilds for a dev container configuration file on the default branch of the repository, branches based on the default branch will, in most cases, also get prebuilds for the same dev container configuration. + **Nota**: Cualquier rama que se cree de una rama base habilitada para precompilaciones habitualmente también obtendrá precompilaciones para la misma configuración de contenedor dev. Por ejemplo, si habilitas precompilaciones para un archivo de configuración de contenedor dev en la rama predeterminada del repositorio, las ramas basadas en la predeterminada también obtendrán precompilaciones para la misma configuración del contenedor dev en la mayoría de los casos. {% endnote %} -1. Optionally, in the **Configuration file** drop-down menu that's displayed, choose the `devcontainer.json` configuration file that you want to use for this prebuild. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." +1. Opcionalmente, en el menú desplegable de **Archivo de configuración** que se muestra, elige el archivo de configuración `devcontainer.json` que quieras utilizar para esta precompilación. Para obtener más información, consulta la sección "[Introducción a los contenedores dev](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." - ![The configuration file drop-down menu](/assets/images/help/codespaces/prebuilds-choose-configfile.png) + ![El menú desplegable de archivo de configuración](/assets/images/help/codespaces/prebuilds-choose-configfile.png) -1. Choose how you want to automatically trigger updates of the prebuild. +1. Elige cómo quieres activar actualizaciones automáticamente para la precompilación. - * **Cada subida** (el ajuste predeterminado) - Con este ajuste, las configuraciones de precompilación se actualizarán en cada subida que se haga a la rama predeterminada. This will ensure that codespaces generated from a prebuild always contain the latest codespace configuration, including any recently added or updated dependencies. - * **En el cambio de configuración** - Con este ajuste, as configuraciones de precompilación se actualizarán cada que lo hagan los archivos de configuración asociados para cada repositorio y rama en cuestión. This ensures that changes to the dev container configuration files for the repository are used when a codespace is generated from a prebuild. The Actions workflow that updates the prebuild will run less often, so this option will use fewer Actions minutes. Sin embargo, esta opción no garantiza que los cdespaces siempre incluyan dependencias recientemente actualizadas o agregadas, así que estas podrían tener que agregarse o actualizarse manualmente después de que un codespace se haya creado. + * **Cada subida** (el ajuste predeterminado) - Con este ajuste, las configuraciones de precompilación se actualizarán en cada subida que se haga a la rama predeterminada. Esto garantizará que los codespaces que se generen de una precompilación siempre contengan la configuración de codespace más reciente, incluyendo cualquier dependencia que se haya actualizado o agregado recientemente. + * **En el cambio de configuración** - Con este ajuste, as configuraciones de precompilación se actualizarán cada que lo hagan los archivos de configuración asociados para cada repositorio y rama en cuestión. Esto garantiza que los cambios a los archivos de configuración del contenedor dev para el repositorio se utilicen cuando se genera un codespace desde una precompilación. El flujo de trabajo de acciones que actualiza la precompilación se ejecutará con menor frecuencia, así que esta opción utilizará menos minutos de las acciones. Sin embargo, esta opción no garantiza que los cdespaces siempre incluyan dependencias recientemente actualizadas o agregadas, así que estas podrían tener que agregarse o actualizarse manualmente después de que un codespace se haya creado. * **Programado** - Con este ajuste, puedes hacer que tus configuraciones de precompilación se actualicen en un itinerario personalizado que tú defines. Esto puede reducir el consumo de minutos de acciones, sin embargo, con esta opción, pueden crearse codespaces que no utilicen los últimos cambios de configuración de contenedores dev. ![Las opciones de activación de precompilación](/assets/images/help/codespaces/prebuilds-triggers.png) -1. Optionally, select **Reduce prebuild available to only specific regions** to limit access to your prebuild, then select which regions you want it to be available in. Los desarrolladores solo pueden crear condespaces desde una precompilación si estos se ubican en una región que selecciones. By default, your prebuild is available to all regions where codespaces is available and storage costs apply for each region. +1. Opcionalmente, selecciona **reducir la precompilación disponible para solo las regiones específicas** para limitar el acceso a tu precompilación y luego selecciona en qué regiones quieres que esté disponible. Los desarrolladores solo pueden crear condespaces desde una precompilación si estos se ubican en una región que selecciones. Predeterminadamente, tu precompilación está disponible para todas las regiones en donde los codespaces estén disponibles y los costos de almacenamiento aplican para cada región. ![Las opciones de selección de región](/assets/images/help/codespaces/prebuilds-regions.png) {% note %} **Notas**: - * The prebuild for each region will incur individual charges. Por lo tanto, solo deberías habilitar las precompilaciones para las regiones en las que sabes que se utilizarán. Para obtener más información, consulta la sección "[Acerca de las precompilaciones de {% data variables.product.prodname_github_codespaces %}](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds#about-billing-for-codespaces-prebuilds)". + * La precompilación para cada región incurrirá en cargos individuales. Por lo tanto, solo deberías habilitar las precompilaciones para las regiones en las que sabes que se utilizarán. Para obtener más información, consulta la sección "[Acerca de las precompilaciones de {% data variables.product.prodname_github_codespaces %}](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds#about-billing-for-codespaces-prebuilds)". * Los desarrolladores pueden configurar su región predeterminada para {% data variables.product.prodname_codespaces %}, lo que te puede permitir habilitar las precompilaciones para menos regiones. Para obtener más información, consulta la sección "[Configurar tu región predeterminada para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)". {% endnote %} -1. Optionally, set the number of prebuild versions to be retained. Puedes ingresar cualquier número entre 1 y 5. La cantidad predeterminada de versiones guardadas es de 2, lo que significa que solo la versión de plantilla más reciente y la versión previa se guardan. +1. Opcionalmente, establezca el número de versiones de precompilación que se deban retener. Puedes ingresar cualquier número entre 1 y 5. La cantidad predeterminada de versiones guardadas es de 2, lo que significa que solo la versión de plantilla más reciente y la versión previa se guardan. - Depending on your prebuild trigger settings, your prebuild could change with each push or on each dev container configuration change. Retaining older versions of prebuilds enables you to create a prebuild from an older commit with a different dev container configuration than the current prebuild. Since there is a storage cost associated with retaining prebuild versions, you can choose the number of versions to be retained based on the needs of your team. Para obtener más información sobre la facturación, consulta la sección "[Acerca de la facturación para los {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)". + Dependiendo de los ajustes de activación de la precompilación, esta podría cambiar con cada subida o en cada cambio de configuración de contenedor dev. El retener versiones anteriores de precompilaciones te permite crear una precompilación desde una confirmación más antigua con una configuración de contenedor dev diferente que la de la precompilación actual. Ya que existe un costo de almacenamiento asociado con la retención de versiones de precompilación, puedes elegir la cantidad de versiones a retener con base en las necesidades de tu equipo. Para obtener más información sobre la facturación, consulta la sección "[Acerca de la facturación para los {% data variables.product.prodname_github_codespaces %}](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#codespaces-pricing)". - If you set the number of prebuild versions to save to 1, {% data variables.product.prodname_codespaces %} will only save the latest version of the prebuild and will delete the older version each time the template is updated. Esto significa que no obtendrás un codespace precompilado si regresas a una configuración de contenedor dev antigua. + Si configuras la cantidad de versiones de precompilación a guardar en 1, {% data variables.product.prodname_codespaces %} solo guardará la última versión de la precompilación y borrará la versión antigua cada que se actualice la plantilla. Esto significa que no obtendrás un codespace precompilado si regresas a una configuración de contenedor dev antigua. - ![The prebuild history setting](/assets/images/help/codespaces/prebuilds-template-history-setting.png) + ![El ajuste de historial de precompilación](/assets/images/help/codespaces/prebuilds-template-history-setting.png) -1. Optionally, add users or teams to notify when the prebuild workflow run fails for this configuration. Puedes comenzar a escribir un nombre de usuario, de equipo o nombre completo y luego hacer clic en el nombre una vez que aparezca para agregarlos a la lista. Los usuarios o equipos que agregues recibirán un correo electrónico cuando ocurran fallas en la precompilación, los cuales contienen un enlace a las bitácoras de ejecución de flujo de trabajo para ayudar con las investigaciones subsecuentes. +1. Opcionalmente, agrega usuarios o equipos para notificarles cuando una ejecución de flujo de trabajo de precompilación falle para esta configuración. Puedes comenzar a escribir un nombre de usuario, de equipo o nombre completo y luego hacer clic en el nombre una vez que aparezca para agregarlos a la lista. Los usuarios o equipos que agregues recibirán un correo electrónico cuando ocurran fallas en la precompilación, los cuales contienen un enlace a las bitácoras de ejecución de flujo de trabajo para ayudar con las investigaciones subsecuentes. ![El ajuste de notificación de falla de precompilación](/assets/images/help/codespaces/prebuilds-failure-notification-setting.png) @@ -84,27 +84,27 @@ Antes de que configures las precompilaciones para tu proyecto, se debe cumplir c {% data reusables.codespaces.prebuilds-permission-authorization %} -After you create a prebuild configuration it is listed on the {% data variables.product.prodname_codespaces %} page of your repository settings. A {% data variables.product.prodname_actions %} workflow is queued and then run to create prebuilds in the regions you specified, based on the branch and dev container configuration file you selected. +Después crear una configuración de precompilación, esta se lista en la página de {% data variables.product.prodname_codespaces %} de tus ajustes de repositorio. Un flujo de trabajo de {% data variables.product.prodname_actions %} se pone en cola y luego se ejecuta para crear precompilaciones en las regiones que especificaste, con base en la rama y archivo de configuración de contenedor dev que seleccionaste. -![Screenshot of the list of prebuild configurations](/assets/images/help/codespaces/prebuild-configs-list.png) +![Captura de pantalla de la lista de configuraciones de precompilación](/assets/images/help/codespaces/prebuild-configs-list.png) -For information about editing and deleting prebuild configurations, see "[Managing prebuilds](/codespaces/prebuilding-your-codespaces/managing-prebuilds)." +Para obtener más información sobre cómo editar y borrar configuraciones de precompilación, consulta la sección "[Administrar las precompilaciones](/codespaces/prebuilding-your-codespaces/managing-prebuilds)". ## Configurar variables de ambiente Para permitir que el proceso de precompilación acceda a las variables de ambiente que se requieren para crear tu ambiente de desarrollo, puedes configurarlas ya sea como secretos de repositorio de {% data variables.product.prodname_codespaces %} o como secretos de organización de {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta las secciones "[Agregar secretos para un repositorio](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository)" y "[Agregar secretos para una organización](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-an-organization)". -Secrets that you create in this way will be accessible by anyone who creates a codespace from this repository. Si no quieres esto, como alternativa, puedes configurar el secreto `CODESPACES_PREBUILD_TOKEN`. El secreto `CODESPACES_PREBUILD_TOKEN` solo se utiliza para precompilar y no se puede acceder a su valor en los codespaces de los usuarios. +Cualquiera que cree un codespace desde este repositorio podrá acceder a los secretos de que crees de esta forma. Si no quieres esto, como alternativa, puedes configurar el secreto `CODESPACES_PREBUILD_TOKEN`. El secreto `CODESPACES_PREBUILD_TOKEN` solo se utiliza para precompilar y no se puede acceder a su valor en los codespaces de los usuarios. -Prebuilds cannot use any user-level secrets while building your environment, because these are not available until after the codespace has been created. +Las precompilaciones no pueden utilizar secretos a nivel de usuario al compilar tu ambiente nuevo, ya que estos no están disponibles sino hasta después de que se haya creado el codespace. ## Configurar tareas que llevan mucho tiempo para que se incluyan en la precompilación -You can use the `onCreateCommand` and `updateContentCommand` commands in your `devcontainer.json` to include time-consuming processes as part of the prebuild creation. Para obtener más información, consulta la documentación de {% data variables.product.prodname_vscode %} "[referencia de devcontainer.json](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts)". +Puedes utilizar los comandos `onCreateCommand` y `updateContentCommand` en tu `devcontainer.json` para incluir los procesos que llevan mucho tiempo como parte de la creación de la precompilación. Para obtener más información, consulta la documentación de {% data variables.product.prodname_vscode %} "[referencia de devcontainer.json](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts)". -`onCreateCommand` is run only once, when the prebuild is created, whereas `updateContentCommand` is run at template creation and at subsequent template updates. Incremental builds should be included in `updateContentCommand` since they represent the source of your project and need to be included for every prebuild update. +`onCreateCommand` solo se ejecuta una vez, cuando se crea la precompilación, mientras que `updateContentCommand` se ejecuta cuando se crea la plantilla y en las actualizaciones de plantilla posteriores. Las compilaciones incrementales deben incluirse en `updateContentCommand`, ya que estas representan el origen de tu proyecto y necesitan incluirse para cada actualización de precompilación. ## Leer más -- "[Allowing a prebuild to access other repositories](/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories)" +- "[Permitir que una precompilación acceda a otros repositorios](/codespaces/prebuilding-your-codespaces/allowing-a-prebuild-to-access-other-repositories)" - "[Solucionar problemas de las compilaciones previas](/codespaces/troubleshooting/troubleshooting-prebuilds)" diff --git a/translations/es-ES/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md b/translations/es-ES/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md index 43418c6692..f76eb3e497 100644 --- a/translations/es-ES/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md +++ b/translations/es-ES/content/codespaces/prebuilding-your-codespaces/managing-prebuilds.md @@ -16,7 +16,7 @@ miniTocMaxHeadingLevel: 3 Las precompilaciones que configures para un repositorio se crean y actualizan utilizando un flujo de trabajo de {% data variables.product.prodname_actions %}, que administra el servicio de {% data variables.product.prodname_github_codespaces %}. -Depending on the settings in a prebuild configuration, the workflow to update the prebuild may be triggered by these events: +Dependiendo de los ajustes en una configuración de precompilación, el flujo de trabajo para actualizar la precompilación podría activarse con estos eventos: * Crear o actualizar la configuración de precompilación * Subir una confirmación o una solicitud de cambios a una rama que está configurada para tener precompilaciones @@ -24,7 +24,7 @@ Depending on the settings in a prebuild configuration, the workflow to update th * Un itinerario que definiste en la configuración de la precompilación * Activar el flujo de trabajo manualmente -The settings in the prebuild configuration determine which events automatically trigger an update of the prebuild. Para obtener más información, consulta la sección "[Configurar las precompilaciones](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)". +Los ajustes en la configuración de precompilación determinan qué eventos activan automáticamente una actualización de la precompilación. Para obtener más información, consulta la sección "[Configurar las precompilaciones](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild)". Las personas con acceso administrativo a un repositorio pueden verificar el progreso de las precompilaciones, así como editar y borrar las configuraciones de estas. @@ -61,7 +61,7 @@ Esto muestra el historial de ejecución de flujo de trabajo para las precompilac ### Inhabilitar una configuración de precompilación -To pause the update of prebuilds for a configuration, you can disable workflow runs for the configuration. Disabling the workflow runs for a prebuild configuration does not delete any previously created prebuilds for that configuration and, as a result, codespaces will continue to be generated from an existing prebuild. +Para pausar la actualización de las precompilaciones de una configuración, puedes inhabilitar las ejecuciones de flujo de trabajo para dicha configuración. El inhabilitar las ejecuciones de flujo de trabajo para una configuración de precompilación no borra ninguna de estas que se haya creado anteriormente para dicha configuración y, como resultado, los codespaces seguirán generándose desde una precompilación existente. El inhabilitar las ejecuciones de flujos de trabajo para una configuración precompilada es útil si necesitas investigar los fallos en la creación de plantillas. @@ -74,7 +74,7 @@ El inhabilitar las ejecuciones de flujos de trabajo para una configuración prec ### Borrar una configuración de precompilación -Deleting a prebuild configuration also deletes all previously created prebuilds for that configuration. Como resultado, poco después de que borres una configuración, las precompilaciones generadas por dicha configuración ya no estarán disponibles cuando crees un codespace nuevo. +El borrar una configuración de preocmpilación también borrar todas las precompilaciones que se hayan creado previamente para dicha configuración. Como resultado, poco después de que borres una configuración, las precompilaciones generadas por dicha configuración ya no estarán disponibles cuando crees un codespace nuevo. Después de que borras una configuración de precompilación, todavía se ejecutarán las ejecuciones de flujo de trabajo de dicha configuración que se hayan puesto en cola o que hayan iniciado. Se listarán en el historial de ejecución de flujo de trabajo junto con las ejecuciones de flujo de trabajo que se hayan completado previamente. diff --git a/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md b/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md index 449d120e5d..6fc957533e 100644 --- a/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md +++ b/translations/es-ES/content/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers.md @@ -53,7 +53,7 @@ Para obtener más información sobre cómo elegir tu configuración preferida de Es útil pensar que el archivo `devcontainer.json` sirve para proporcionar "adaptación" en vez de "personalización". Solo debes incluir las cosas que necesiten todos los que trabajan en tus codespaces como elementos estándar del ambiente de desarrollo, no las que son preferencias personales. Las cosas como los limpiadores son buenas para estandarizar y para requerir que todos las tengan instaladas, así que es bueno incluirlas en tu archivo `devcontainer.json`. Las cosas como los decoradores de interfaz de usuario o los temas son elecciones personales que no deberían ponerse en el archivo `devcontainer.json`. -Puedes personalizar tus codespaces utilizando dotfiles y la sincronización de ajustes. For more information, see "[Personalizing {% data variables.product.prodname_github_codespaces %} for your account](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account)." +Puedes personalizar tus codespaces utilizando dotfiles y la sincronización de ajustes. Para obtener más información, consulta la sección "[Personalizar {% data variables.product.prodname_github_codespaces %} para tu cuenta](/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account)". ### Dockerfile @@ -114,7 +114,7 @@ Para obtener más información sobre cómo utilizar un Dockerfile en una configu ## Utilizar la configuración de contenedor dev predeterminada -Si no defines una configuración en tu repositorio, {% data variables.product.prodname_dotcom %} creará un codespace utilizando una imagen de Linux predeterminada. This Linux image includes a number of runtime versions for popular languages like Python, Node, PHP, Java, Go, C++, Ruby, and .NET Core/C#. The latest or LTS releases of these languages are used. There are also tools to support data science and machine learning, such as JupyterLab and Conda. The image also includes other developer tools and utilities like Git, GitHub CLI, yarn, openssh, and vim. Para ver todos los lenguajes, tiempos de ejecución y herramientas que se incluyen, utiliza el comando `devcontainer-info content-url` dentro de tu terminal del codespace y sigue la URL que este produce. +Si no defines una configuración en tu repositorio, {% data variables.product.prodname_dotcom %} creará un codespace utilizando una imagen de Linux predeterminada. La imagen de Linux incluye varias versiones de tiempo de ejecución para los lenguajes populares como Python, Node, PHP, Java, Go, C++ y .NET Core/C#. Se utilizan los lanzamientos más recientes o de LTS de estos lenguajes. También existen herramientas para apoyar la ciencia de datos y el aprendizaje automático, tal como JupyterLab y Conda. La imagen también incluye otras herramientas y utilidades de desarrollador como Git, el CLI de GitHub, yarn, openssh y vim. Para ver todos los lenguajes, tiempos de ejecución y herramientas que se incluyen, utiliza el comando `devcontainer-info content-url` dentro de tu terminal del codespace y sigue la URL que este produce. Como alternativa, para obtener más información sobre todo lo que incluye la imagen predeterminada de Linux, consulta el archivo más reciente del repositorio [`microsoft/vscode-dev-containers`](https://github.com/microsoft/vscode-dev-containers/tree/main/containers/codespaces-linux). @@ -155,17 +155,17 @@ Puedes agregar características a tu configuración predefinida de contenedor pa Puedes agregar algunas de las características más comunes seleccionándolas cuando configures tu contenedor predefinido. Para obtener más información sobre las características disponibles, consulta la [librería de scripts](https://github.com/microsoft/vscode-dev-containers/tree/main/script-library#scripts) en el repositorio `vscode-dev-containers`. -1. Accede a la paleta de comandos (`Shift + Command + P` / `Ctrl + Shift + P`) y luego comienza a teclear "configurar". Selecciona **Codespaces: configurar las características del devcontainer**. +1. Access the Command Palette (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "configure". Selecciona **Codespaces: configurar las características del devcontainer**. - ![El comando de configurar características del devcontainer en la paleta de comandos](/assets/images/help/codespaces/codespaces-configure-features.png) + ![The Configure Devcontainer Features command in the Command Palette](/assets/images/help/codespaces/codespaces-configure-features.png) 1. Actualiza tus selecciones de características y luego haz clic en **OK**. - ![The select additional features menu during container configuration](/assets/images/help/codespaces/select-additional-features.png) + ![El menú para seleccionar características adicionales durante la configuración del contenedor](/assets/images/help/codespaces/select-additional-features.png) 1. Para aplicar los cambios, en la esquina inferior derecha de la pantalla, haz clic en **Reconstruir ahora**. Para obtener más información sobre cómo reconstruir tu contenedor, consulta la sección "[Aplicar los cambios a tu configuración](#applying-configuration-changes-to-a-codespace)". - !["Codespaces: Reconstruir contenedor" en la paleta de comandos](/assets/images/help/codespaces/rebuild-prompt.png) + !["Codespaces: Rebuild Container" in the Command Palette](/assets/images/help/codespaces/rebuild-prompt.png) ## Crear una configuración de contenedor dev personalizada @@ -182,41 +182,41 @@ Si ninguna de las configuraciones predefinidas satisface tus necesidades, puedes Si se encuentran archivos `devcontainer.json` múltiples en el repositorio, estos se listarán en la página de opciones de creación de codespaces. Para obtener más información, consulta la sección "[Crear un codespace](/codespaces/developing-in-codespaces/creating-a-codespace#creating-a-codespace)". - ![A choice of configuration files](/assets/images/help/codespaces/configuration-file-choice.png) + ![Una elección de archivos de configuración](/assets/images/help/codespaces/configuration-file-choice.png) ### Selección de configuración predeterminada durante la creación de codespaces Si existe el archivo `.devcontainer/devcontainer.json` o `.devcontainer.json`, este será la selección predeterminada en la lista de archivos de configuración disponibles cuando crees un codespace. Si no existe ninguno de ellos, se seleccionará la configuración de contenedor dev predefinida. -![The default configuration choice selected](/assets/images/help/codespaces/configuration-file-choice-default.png) +![La elección de configuración predeterminada seleccionada](/assets/images/help/codespaces/configuration-file-choice-default.png) ### Editar el archivo devcontainer.json -You can add and edit the supported configuration keys in the `devcontainer.json` file to specify aspects of the codespace's environment, like which {% data variables.product.prodname_vscode_shortname %} extensions will be installed. {% data reusables.codespaces.more-info-devcontainer %} +Puedes agregar y editar las llaves de configuración compatibles en el archivo `devcontainer.json` para especificar los aspectos del ambiente del codespace, como qué extensiones de {% data variables.product.prodname_vscode_shortname %} se instalarán. {% data reusables.codespaces.more-info-devcontainer %} -El archivo de `devcontainer.json` se escribe utilizando el formato JSONC. Esto te permite incluir comentarios dentro del archivo de configuración. For more information, see "[Editing JSON with {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/languages/json#_json-with-comments)" in the {% data variables.product.prodname_vscode_shortname %} documentation. +El archivo de `devcontainer.json` se escribe utilizando el formato JSONC. Esto te permite incluir comentarios dentro del archivo de configuración. Para obtener más información, consulta la sección "[Editar JSON con {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/languages/json#_json-with-comments)" en la documentación de {% data variables.product.prodname_vscode_shortname %}. {% note %} -**Note**: If you use a linter to validate the `devcontainer.json` file, make sure it is set to JSONC and not JSON or comments will be reported as errors. +**Nota**: Si utilizas un limpiador de código para validar el archivo `devcontainer.json`, asegúrate de que esté configurado en JSONC y no en JSON, de lo contrario, los comentarios se reportarán como errores. {% endnote %} -### Editor settings for {% data variables.product.prodname_vscode_shortname %} +### Ajustes de editor para {% data variables.product.prodname_vscode_shortname %} {% data reusables.codespaces.vscode-settings-order %} -You can define default editor settings for {% data variables.product.prodname_vscode_shortname %} in two places. +Puedes definir los ajustes de editor para {% data variables.product.prodname_vscode_shortname %} en dos lugares. -* Editor settings defined in the `.vscode/settings.json` file in your repository are applied as _Workspace_-scoped settings in the codespace. -* Editor settings defined in the `settings` key in the `devcontainer.json` file are applied as _Remote [Codespaces]_-scoped settings in the codespace. +* Los ajustes de editor que se definen en el archivo `.vscode/settings.json` de tu repositorio se aplican como ajustes con alcance de _Workspace_ en el codespace. +* Los ajustes de editor que se definen en la clave `settings` en el archivo `devcontainer.json` están aplicados como ajustes con alcance de _Remote [Codespaces]_ en el codespace. -## Applying configuration changes to a codespace +## Aplicar los cambios de configuración a un codespace {% data reusables.codespaces.apply-devcontainer-changes %} {% data reusables.codespaces.rebuild-command %} -1. {% data reusables.codespaces.recovery-mode %} Fix the errors in the configuration. +1. {% data reusables.codespaces.recovery-mode %} Corrige los errores en la configuración. ![Mensaje de error sobre el modo de recuperación](/assets/images/help/codespaces/recovery-mode-error-message.png) diff --git a/translations/es-ES/content/codespaces/troubleshooting/github-codespaces-logs.md b/translations/es-ES/content/codespaces/troubleshooting/github-codespaces-logs.md index 7ee468914a..c8497b8b57 100644 --- a/translations/es-ES/content/codespaces/troubleshooting/github-codespaces-logs.md +++ b/translations/es-ES/content/codespaces/troubleshooting/github-codespaces-logs.md @@ -28,7 +28,7 @@ Estas bitácoras contienen información detallada sobre los codespaces, el conte {% webui %} 1. Si estás utilizando {% data variables.product.prodname_codespaces %} en el buscador, asegúrate de que estés conectado al codespace que quieres depurar. -1. Abre la paleta de comandos de {% data variables.product.prodname_vscode %} (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) y teclea **Exportar bitácoras**. Selecciona **Codespaces: Exportar Bitácoras** de la lista para descargar las bitácoras. +1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Export logs**. Selecciona **Codespaces: Exportar Bitácoras** de la lista para descargar las bitácoras. 1. Define dónde guardar el archivo zip de las bitácoras y luego haz clic en **Guardar** (escritorio) o en **OK** (web). 1. Si estás utilizando {% data variables.product.prodname_codespaces %} en el buscador, haz clic derecho en el archivo zip de las bitácoras desde la vista de explorador y selecciona **Download…** para descargarlas en tu máquina local. @@ -36,7 +36,7 @@ Estas bitácoras contienen información detallada sobre los codespaces, el conte {% vscode %} -1. Abre la paleta de comandos de {% data variables.product.prodname_vscode %} (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) y teclea **Exportar bitácoras**. Selecciona **Codespaces: Exportar Bitácoras** de la lista para descargar las bitácoras. +1. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Export logs**. Selecciona **Codespaces: Exportar Bitácoras** de la lista para descargar las bitácoras. 1. Define dónde guardar el archivo zip de las bitácoras y luego haz clic en **Guardar** (escritorio) o en **OK** (web). {% endvscode %} @@ -55,7 +55,7 @@ Estas bitácoras contienen información sobre el contenedor, el contenedor dev y {% webui %} 1. Conéctate al codespace que quieras depurar. -2. Abre la {% data variables.product.prodname_vscode_command_palette %} (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) y teclea **Creation logs**. Selecciona **Codespaces: View Creation Log** de la lista para abrir el archivo `creation.log`. +2. Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Creation logs**. Selecciona **Codespaces: View Creation Log** de la lista para abrir el archivo `creation.log`. Si quieres compartir la bitácora con soporte, puedes copiar el texto de la bitácora de creación en un editor de texto y guardar el archivo localmente. @@ -63,7 +63,7 @@ Si quieres compartir la bitácora con soporte, puedes copiar el texto de la bit {% vscode %} -Abre la paleta de comandos (`Shift + Command + P` (Mac) / `Ctrl + Shift + P` (Windows)) y teclea **Creation logs**. Selecciona **Codespaces: View Creation Log** de la lista para abrir el archivo `creation.log`. +Open the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)) and type **Creation logs**. Selecciona **Codespaces: View Creation Log** de la lista para abrir el archivo `creation.log`. Si quieres compartir la bitácora con soporte, puedes copiar el texto de la bitácora de creación en un editor de texto y guardar el archivo localmente. diff --git a/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md b/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md index cc3838df1d..65d8b21063 100644 --- a/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md +++ b/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces.md @@ -1,5 +1,5 @@ --- -title: Solucionar problemas de creación y borrado de Codespaces +title: Troubleshooting creation and deletion of codespaces intro: 'Este artículo te muestra los pasos para la solución de problemas comunes que podrías experimentar al crear o borrar un codespace, incluyendo los de almacenamiento y configuración.' product: '{% data reusables.gated-features.codespaces %}' versions: @@ -16,6 +16,8 @@ shortTitle: Creación y borrado ### Sin acceso para crear un codespace Los {% data variables.product.prodname_codespaces %} no están disponibles para todos los repositorios. Si no se muestra el botón de "Abrir con Codespaces", {% data variables.product.prodname_github_codespaces %} podría no estar disponible para dicho repositorio. Para obtener más información, consulta la sección "[Crear un codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-codespaces)". +You can't create a codespace for a private repository that is owned by an organization, unless you have write access to the repository or the organization has enabled forking for it. + Si crees que tu organización sí [habilitó los {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#about-enabling-codespaces-for-your-organization), asegúrate de que un propietario de la organización o gerente de facturación haya configurado el límite de gastos para los {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar tu límite de gastos para {% data variables.product.prodname_codespaces %}](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces)". ### El Codespace no abre cuando se crea diff --git a/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md b/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md index 1169217c6f..3b0fa5c6f0 100644 --- a/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md +++ b/translations/es-ES/content/codespaces/troubleshooting/troubleshooting-your-connection-to-github-codespaces.md @@ -18,7 +18,7 @@ redirect_from: Los codespaces están configurados para detenerse después de pasar 30 minutos sin actividad. Si intentas interactuar con un codespace después de que se detuvo, podrías ver un error de tipo `503 service unavailable`. - Si se muestra un botón de **Inicio** en {% data variables.product.prodname_vscode %} o en tu ventana de buscador, haz clic en **Inicio** para volverte a conectar al codespace. -- Restablece tu codespace volviendo a cargar la ventana. Desde la [paleta de comandos](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#accessing-the-command-palette) en {% data variables.product.prodname_vscode %}, haz clic en **Desarrollador: Recargar Ventana**. +- Restablece tu codespace volviendo a cargar la ventana. From the [Command Palette](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#accessing-the-command-palette) in {% data variables.product.prodname_vscode %}, click **Developer: Reload Window**. ## El buscador no se puede conectar diff --git a/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md index 032e738980..20e456106e 100644 --- a/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md +++ b/translations/es-ES/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -31,6 +31,7 @@ El nombre del codespace también se incluye en muchos otros archivos de bitácor Cada codespace también tiene un ID (identificador). Este no se muestra predeterminadamente en {% data variables.product.prodname_vscode %}, así que podrías tener que actualizar los ajustes para la extensión de {% data variables.product.prodname_github_codespaces %} antes de que puedas acceder a la ID. 1. En {% data variables.product.prodname_vscode %}, ya sea la versión de buscador o de escritorio, en la barra de actividad a la izquierda, haz clic en **Explorador remoto** para que se muestren los detalles del codespace. -2. Si la barra lateral incluye una sección de "Rendimiento del Codespace", pasa el puntero del mouse sobre "ID del Codespace" y haz clic en el icono de portapapeles para copiar la ID. -3. Si no se muestra la información, haz clic en {% octicon "gear" aria-label="The gear icon" %} en la esquina inferior izquierda de la barra de actividad para mostrar la pestaña de "Ajustes". -4. Expande las **Extensiones** y haz clic en **{% data variables.product.prodname_github_codespaces %}** para mostrar los ajustes de la extensión. Entonces, habilita el **Explorador para mostrar el rendmiento** para mostrar la sección de "Rendimiento del Codespace" en la barra lateral. ![ID y ajustes del codespace requeridos para mostrar la información de rendimiento](/assets/images/help/codespaces/find-codespace-id.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. Si la barra lateral incluye una sección de "Rendimiento del Codespace", pasa el puntero del mouse sobre "ID del Codespace" y haz clic en el icono de portapapeles para copiar la ID. +1. Si no se muestra la información, haz clic en {% octicon "gear" aria-label="The gear icon" %} en la esquina inferior izquierda de la barra de actividad para mostrar la pestaña de "Ajustes". +1. Expande las **Extensiones** y haz clic en **{% data variables.product.prodname_github_codespaces %}** para mostrar los ajustes de la extensión. Entonces, habilita el **Explorador para mostrar el rendmiento** para mostrar la sección de "Rendimiento del Codespace" en la barra lateral. ![ID y ajustes del codespace requeridos para mostrar la información de rendimiento](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md b/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md index a4246b9192..694a347d89 100644 --- a/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md +++ b/translations/es-ES/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md @@ -633,7 +633,7 @@ body: The template body `key:value` pair can not be empty. For more information about which top-level keys are required, see "[Syntax for issue forms](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#top-level-syntax)." -The error can be fixed by adding the `body:` section. +El error se puede corregir agregando la sección `body:`. ### Ejemplo @@ -647,7 +647,7 @@ body: label: "What's wrong?" ``` -In this example, the error can be fixed by deleting the `---` (document separator) between the headers and the `body` section. +En este ejemplo, el error se puede corregir borrando el `---` (separador de documentos) entre los encabezados y la sección `body`. ```yaml name: Support Request diff --git a/translations/es-ES/content/copilot/overview-of-github-copilot/about-github-copilot.md b/translations/es-ES/content/copilot/overview-of-github-copilot/about-github-copilot.md index 3e905ad422..d91817fa96 100644 --- a/translations/es-ES/content/copilot/overview-of-github-copilot/about-github-copilot.md +++ b/translations/es-ES/content/copilot/overview-of-github-copilot/about-github-copilot.md @@ -22,7 +22,7 @@ You can see real-world examples of {% data variables.product.prodname_copilot %} GitHub Copilot offers suggestions from a model that OpenAI built from billions of lines of open source code. As a result, the training set for {% data variables.product.prodname_copilot %} may contain insecure coding patterns, bugs, or references to outdated APIs or idioms. When {% data variables.product.prodname_copilot %} produces suggestions based on this training data, those suggestions may also contain undesirable patterns. -You are responsible for ensuring the security and quality of your code. We recommend you take the same precautions when using code generated by {% data variables.product.prodname_copilot %} that you would when using any code you didn't write yourself. These precautions include rigorous testing, IP scanning, and tracking for security vulnerabilities. {% data variables.product.company_short %} provides a number of features to help you monitor and improve code quality, such as {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_codeql %} and {% data variables.product.prodname_code_scanning %}. All these features are free to use in public repositories. For more information, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions)" and "[{% data variables.product.company_short %} security features](/code-security/getting-started/github-security-features)." +You are responsible for ensuring the security and quality of your code. We recommend you take the same precautions when using code generated by {% data variables.product.prodname_copilot %} that you would when using any code you didn't write yourself. These precautions include rigorous testing, IP scanning, and tracking for security vulnerabilities. {% data variables.product.company_short %} proporciona varias características para ayudarte a monitorear y mejorar la calidad del código, tales como las {% data variables.product.prodname_actions %}, el {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_codeql %} y el {% data variables.product.prodname_code_scanning %}. All these features are free to use in public repositories. For more information, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions)" and "[{% data variables.product.company_short %} security features](/code-security/getting-started/github-security-features)." {% data variables.product.prodname_copilot %} uses filters to block offensive words in the prompts and avoid producing suggestions in sensitive contexts. We are committed to constantly improving the filter system to more intelligently detect and remove offensive suggestions generated by {% data variables.product.prodname_copilot %}, including biased, discriminatory, or abusive outputs. If you see an offensive suggestion generated by {% data variables.product.prodname_copilot %}, please report the suggestion directly to copilot-safety@github.com so that we can improve our safeguards. diff --git a/translations/es-ES/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md b/translations/es-ES/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md index c143eadd38..eceb516fc6 100644 --- a/translations/es-ES/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md +++ b/translations/es-ES/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-and-re-running-checks-in-github-desktop.md @@ -10,7 +10,7 @@ versions: {% data variables.product.prodname_desktop %} displays the status of checks that have run in your pull request branches. The checks badge next to the branch name will display the *pending, passing,* or *failing* state of the checks. You can also re-run all, failed, or individual checks when viewing the status of the checks in {% data variables.product.prodname_desktop %}. For more information on setting up checks in your repository, see "[About status checks](/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." -{% data variables.product.prodname_desktop %} will also show a system notification when checks fail. For more information on enabling notifications, see "[Configuring notifications in GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/configuring-notifications-in-github-desktop)." +{% data variables.product.prodname_desktop %} will also show a system notification when checks fail. Para obtener más información sobre cómo habilitar las notificaciones, consulta la sección "[Configurar las notificaciones en GitHub Desktop](/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/configuring-notifications-in-github-desktop)". ## Ver y volver a ejecutar las verificaciones diff --git a/translations/es-ES/content/developers/apps/building-github-apps/authenticating-with-github-apps.md b/translations/es-ES/content/developers/apps/building-github-apps/authenticating-with-github-apps.md index 069906e9a2..8c7af75f81 100644 --- a/translations/es-ES/content/developers/apps/building-github-apps/authenticating-with-github-apps.md +++ b/translations/es-ES/content/developers/apps/building-github-apps/authenticating-with-github-apps.md @@ -147,18 +147,24 @@ Para autenticarte con un token de acceso de instalación, inclúyela en el encab ```shell $ curl -i \ --H "Authorization: token YOUR_INSTALLATION_ACCESS_TOKEN" \ +-H "Authorization: Bearer YOUR_INSTALLATION_ACCESS_TOKEN" \ -H "Accept: application/vnd.github+json" \ {% data variables.product.api_url_pre %}/installation/repositories ``` `YOUR_INSTALLATION_ACCESS_TOKEN` es el valor que debes reemplazar. +{% note %} + +**Nota:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + ## Acceder a las terminales de la API como una instalación Para encontrar un listado de las terminales de la API de REST disponibles para utilizarse con las {% data variables.product.prodname_github_apps %} utilizando un token de acceso de instalación, consulta la sección "[Terminales Disponibles](/rest/overview/endpoints-available-for-github-apps)". -Para encontrar un listad de terminales relacionado con las instalaciones, consulta la sección "[Instalaciones](/rest/reference/apps#installations)". +For a list of endpoints related to installations, see "[Installations](/rest/reference/apps#installations)." ## Acceso a Git basado en HTTP mediante una instalación diff --git a/translations/es-ES/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md b/translations/es-ES/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md index 30ef65cf5b..512d700508 100644 --- a/translations/es-ES/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md +++ b/translations/es-ES/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md @@ -108,13 +108,13 @@ Predeterminadametne, la respuesta lleva el siguiente formato. Los parámetros de El token de acceso del usuario permite que la GitHub App haga solicitudes a la API a nombre del usuario. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET {% data variables.product.api_url_code %}/user Por ejemplo, en curl, puedes configurar el encabezado de autorización de la siguiente manera: ```shell -curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user +curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user ``` ## Flujo de dispositivos @@ -133,12 +133,12 @@ Este flujo de dispositivos te permite autorizar usuarios para una app sin encabe Ya que tengas un token de OAuth para un usuario, puedes revisar a qué instalaciones puede acceder. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET /user/installations También puedes verificar qué repositorios se encuentran accesibles para un usuario para una instalación. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET /user/installations/:installation_id/repositories Puedes encontrar más detalles en: [Listar instalaciones de app accesibles para el token de acceso del usuario](/rest/apps#list-app-installations-accessible-to-the-user-access-token) y [Listar repositorios accesibles para el token de acceso del usuario](/rest/apps#list-repositories-accessible-to-the-user-access-token). diff --git a/translations/es-ES/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/translations/es-ES/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index 829fd77ed8..ea9fca1b45 100644 --- a/translations/es-ES/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/translations/es-ES/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -23,6 +23,8 @@ Cuando una organización tiene una lista de direcciones permitidas, se negará e ## Agrega una lista de direcciones IP permitidas a una {% data variables.product.prodname_github_app %} +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} {% data reusables.user-settings.github_apps %} diff --git a/translations/es-ES/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/translations/es-ES/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md index badb34d08c..b367c46466 100644 --- a/translations/es-ES/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md +++ b/translations/es-ES/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -47,7 +47,7 @@ Las {% data variables.product.prodname_github_apps %} que hagan solicitudes de s {% ifversion fpt or ghec %} -Las {% data variables.product.prodname_github_apps %} que se instalan en una organización o repositrio dentro de una empresa en {% data variables.product.product_location %} están sujetas a un límite de 15,000 solicitudes por hora. +{% data variables.product.prodname_github_apps %} that are installed on an organization within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour per organization that has installed the app. {% endif %} diff --git a/translations/es-ES/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md b/translations/es-ES/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md index dbf27e9745..14e7bf26d4 100644 --- a/translations/es-ES/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md +++ b/translations/es-ES/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md @@ -107,13 +107,13 @@ Accept: application/xml El token de acceso te permite hacer solicitudes a la API a nombre de un usuario. - Authorization: token OAUTH-TOKEN + Authorization: Bearer OAUTH-TOKEN GET {% data variables.product.api_url_code %}/user Por ejemplo, en curl, puedes configurar el encabezado de autorización de la siguiente manera: ```shell -curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user +curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user ``` ## Flujo de dispositivos diff --git a/translations/es-ES/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md b/translations/es-ES/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md index f7b42c35d6..32e7965f32 100644 --- a/translations/es-ES/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md +++ b/translations/es-ES/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -28,7 +28,7 @@ Si tu {% data variables.product.prodname_oauth_app %} no tiene acceso a un busca Verifica los encabezados para ver qué alcances de OAuth tienes, y cuáles acepta la acción de la API: ```shell -$ curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/users/codertocat -I +$ curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %}/users/codertocat -I HTTP/2 200 X-OAuth-Scopes: repo, user X-Accepted-OAuth-Scopes: user diff --git a/translations/es-ES/content/developers/overview/about-githubs-apis.md b/translations/es-ES/content/developers/overview/about-githubs-apis.md index 7bf834d9c7..7393f32fea 100644 --- a/translations/es-ES/content/developers/overview/about-githubs-apis.md +++ b/translations/es-ES/content/developers/overview/about-githubs-apis.md @@ -15,17 +15,3 @@ topics: --- Hay dos versiones estables de la API de GitHub: la [API de REST](/rest) y la [API de GraphQL](/graphql). - -## Versiones obsoletas - -### beta - -Se hizo obsoleta la API beta el 22 de abril de 2014. - -### v2 - -Eliminamos el soporte para la API v2 en el 12 de junio de 2012. - -### v1 - -Eliminamos el soporte para la API v1 en el 12 de junio de 2012. diff --git a/translations/es-ES/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/translations/es-ES/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md index 53b6f12b04..d9452630a0 100644 --- a/translations/es-ES/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md +++ b/translations/es-ES/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -37,12 +37,12 @@ $ export SECRET_TOKEN=your_token ## Validar cargas útiles de GitHub -Cuando se configura tu token secreto, {% data variables.product.product_name %} lo utiliza para crear una firma de hash con cada carga útil. Esta firma de hash se incluye con los encabezados de cada solicitud como `X-Hub-Signature-256`. +Cuando se configura tu token secreto, {% data variables.product.product_name %} lo utiliza para crear una firma de hash con cada carga útil. This hash signature is included with the headers of each request as `x-hub-signature-256`. {% ifversion fpt or ghes or ghec %} {% note %} -**Nota:** Para tener compatibilidad en versiones anteriores, también incluimos el encabezado `X-Hub-Signature` que se genera utilizando la función de hash SHA-1. De ser posible, te recomendamos que utilices el encabezado de `X-Hub-Signature-256` para mejorar la seguridad. El ejemplo siguiente demuestra cómo utilizar el encabezado `X-Hub-Signature-256`. +**Note:** For backward-compatibility, we also include the `x-hub-signature` header that is generated using the SHA-1 hash function. If possible, we recommend that you use the `x-hub-signature-256` header for improved security. The example below demonstrates using the `x-hub-signature-256` header. {% endnote %} {% endif %} diff --git a/translations/es-ES/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md b/translations/es-ES/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md index 96cd5b3478..da0d92b40a 100644 --- a/translations/es-ES/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md +++ b/translations/es-ES/content/education/contribute-with-github-community-exchange/getting-started-with-github-community-exchange.md @@ -10,7 +10,7 @@ versions: {% data reusables.education.about-github-community-exchange-intro %} {% data variables.product.prodname_community_exchange %} can help you make your first open source contribution or grow your own open source project. -For more information about how {% data variables.product.prodname_community_exchange %} can help you as a student, see "[About {% data variables.product.prodname_community_exchange %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-community-exchange)." +Para obtener más información sobre cómo {% data variables.product.prodname_community_exchange %} puede ayudarte como alumno, consulta la sección "[Acerca de {% data variables.product.prodname_community_exchange %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-community-exchange)". ## Accessing {% data variables.product.prodname_community_exchange %} @@ -38,7 +38,7 @@ To star a repository: Go to your {% data variables.product.prodname_community_ex The {% data variables.product.prodname_community_exchange %} community moderates repository submissions. You can report abusive repositories, spammy, or disruptive content at any time. -To report an abusive repository: Go to your {% data variables.product.prodname_community_exchange %} home page, find the repository you want to report, click the {% octicon "kebab-horizontal" aria-label="The edit icon" %} drop-down right by its name, then click {% octicon "report" aria-label="The report symbol" %} **Report abuse**. +Para reportar un repositorio ofensivo: Dirígete a tu página principal de {% data variables.product.prodname_community_exchange %}, encuentra el repositorio que quieras reportar, haz clic en el menú desplegable de {% octicon "kebab-horizontal" aria-label="The edit icon" %} justo en su nombre y luego haz clic en {% octicon "report" aria-label="The report symbol" %} **Reportar abuso**. ## Leer más diff --git a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md index 2021ebcd36..4633256b83 100644 --- a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md +++ b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md @@ -14,11 +14,11 @@ shortTitle: Para alumnos Usar {% data variables.product.prodname_dotcom %} para tus proyectos escolares es un modo práctico de colaborar con otros y crear un portfolio que exhiba experiencia práctica. -Cualquiera con una cuenta de {% data variables.product.prodname_dotcom %} puede colaborar en repositorios públicos y privados ilimitados con {% data variables.product.prodname_free_user %}. As a student, you can also apply for {% data variables.product.prodname_education %} student benefits. Your {% data variables.product.prodname_education %} student benefits and resources are all included in {% data variables.product.prodname_global_campus %}, a portal that allows you to access your education benefits, all in one place. For more information, see "[Apply to GitHub Global Campus as a student](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)" and [{% data variables.product.prodname_education %}](https://education.github.com/). +Cualquiera con una cuenta de {% data variables.product.prodname_dotcom %} puede colaborar en repositorios públicos y privados ilimitados con {% data variables.product.prodname_free_user %}. As a student, you can also apply for {% data variables.product.prodname_education %} student benefits. Your {% data variables.product.prodname_education %} student benefits and resources are all included in {% data variables.product.prodname_global_campus %}, a portal that allows you to access your education benefits, all in one place. Para obtener más información, consulta las secciones "[Solicitar entrar a GitHub Global Campus como alumno](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)" y [{% data variables.product.prodname_education %}](https://education.github.com/). Before applying for Global Campus, check if your learning community is already partnered with us as a {% data variables.product.prodname_campus_program %} school. Para obtener más información, consulta la sección "[Acerca de la {% data variables.product.prodname_campus_program %}](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-campus-program)". -If you're a member of a school club, a teacher can apply for {% data variables.product.prodname_global_campus %} so your team can collaborate using {% data variables.product.prodname_team %}, which allows unlimited users and private repositories, for free. For more information, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." +If you're a member of a school club, a teacher can apply for {% data variables.product.prodname_global_campus %} so your team can collaborate using {% data variables.product.prodname_team %}, which allows unlimited users and private repositories, for free. Para obtener más información, consulta la sección "[Solicitar ingresar al {% data variables.product.prodname_global_campus %} como docente](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)". Once you are a verified {% data variables.product.prodname_global_campus %} student, you can access {% data variables.product.prodname_global_campus %} anytime by going to the [{% data variables.product.prodname_education %} website](https://education.github.com). diff --git a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md index 067bb88907..1bffa421f5 100644 --- a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md +++ b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student.md @@ -32,7 +32,7 @@ Es posible que se te pida periódicamente que vuelvas a verificar tu estado acad {% endnote %} -For information about renewing your {% data variables.product.prodname_global_campus %} access, see "[Expiration and renewals](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student/#expiration-and-renewals)." +Para obtener información sobre cómo renovar tu acceso al {% data variables.product.prodname_global_campus %}, consulta la sección "[Vencimiento y renovaciones](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student/#expiration-and-renewals)". ## Applying to {% data variables.product.prodname_global_campus %} diff --git a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md index 29c16366bd..1e920fcaa4 100644 --- a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md +++ b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md @@ -25,7 +25,7 @@ Antes de solicitar un descuento individual, comprueba si tu comunidad de aprendi {% data variables.product.prodname_global_campus %} is a portal from which you can access your {% data variables.product.prodname_education %} benefits and resources, all in one place. On the {% data variables.product.prodname_global_campus %} portal, teachers of all levels can: {% data reusables.education.apply-for-team %} - View an overview of your active [{% data variables.product.prodname_classroom %}](https://classroom.github.com), including recent assignments and your class's progress at a glance, as well as links to {% data variables.product.prodname_classroom %}. - - View and interact with [{% data variables.product.prodname_discussions %}](https://github.com/orgs/community/discussions/categories/github-education) posted by your peers from around the world to discuss current trends in technology education, and see the latest posts from our [{% data variables.product.prodname_education %} blog](https://github.blog/category/education/). + - Ve e interactúa con los [{% data variables.product.prodname_discussions %}](https://github.com/orgs/community/discussions/categories/github-education) que publican tus compañeros de todo el mundo para debatir las tendencias actuales en la educación tecnológica y mira las publicaciones más recientes de nuestro [blog de {% data variables.product.prodname_education %}](https://github.blog/category/education/). - See student events curated by {% data variables.product.prodname_education %} and student leaders. - Stay in the know on what the student community is interested in by rewatching recent [Campus TV](https://www.twitch.tv/githubeducation) episodes. Campus TV is created by {% data variables.product.prodname_dotcom %} and student community leaders and can be watched live or on demand. - Request a {% data variables.product.prodname_dotcom %} swag bag with educational materials and goodies for your students. diff --git a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index 7f26718d4f..d0a7ad8682 100644 --- a/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/translations/es-ES/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -9,8 +9,8 @@ redirect_from: versions: fpt: '*' children: - - /use-github-at-your-educational-institution - /github-global-campus-for-students - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution --- diff --git a/translations/es-ES/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md b/translations/es-ES/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md index b8d58ab579..a5ac6d80f7 100644 --- a/translations/es-ES/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md +++ b/translations/es-ES/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/using-github-codespaces-with-github-classroom.md @@ -30,7 +30,7 @@ The {% data variables.product.prodname_codespaces %} Education benefit gives ver {% data reusables.classroom.free-limited-codespaces-for-verified-teachers-beta-note %} -To become a verified teacher, you need to be approved for an educator or teacher benefit. For more information, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." +To become a verified teacher, you need to be approved for an educator or teacher benefit. Para obtener más información, consulta la sección "[Solicitar ingresar al {% data variables.product.prodname_global_campus %} como docente](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)". After you have confirmation that you are a verified teacher, visit [{% data variables.product.prodname_global_campus %} for Teachers](https://education.github.com/globalcampus/teacher) to upgrade the organization to GitHub Team. For more information, see [GitHub's products](/get-started/learning-about-github/githubs-products#github-team). diff --git a/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md b/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md index ca03572759..1b80c3756a 100644 --- a/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md +++ b/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md @@ -24,23 +24,22 @@ To configure an LMS to connect to {% data variables.product.prodname_classroom % ## Supported LMSes -{% data variables.product.prodname_classroom %} supports import of roster data from LMSes that implement Learning Tools Interoperability (LTI) standards. +{% note %} -- LTI version 1.0 and/or 1.1 -- LTI Names and Roles Provisioning 1.X +**Note:** {% data variables.product.prodname_classroom %} previously supported import of roster data from LMSes that implement Learning Tools Interoperability (LTI) versions 1.0 and 1.1. On June 30, 2022, the Instructional Management System (IMS) Global Learning Consortium [ended support for LTI versions 1.0 and 1.1](https://www.imsglobal.org/lti-security-announcement-and-deprecation-schedule). In the interest of keeping sensitive student information safe and secure, {% data variables.product.company_short %} has temporarily disabled importing roster data from LTI-compliant LMSes.

-Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. +Support for the latest version of Learning Tools Interoperability, [LTI 1.3](https://www.imsglobal.org/activity/learning-tools-interoperability), is currently being worked on and will be made available in {% data variables.product.prodname_classroom %} very soon. + +{% endnote %} + +LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. {% data variables.product.company_short %} has tested import of roster data from the following LMSes into {% data variables.product.prodname_classroom %}. -- Canvas - Google Classroom -- Moodle -- Sakai -Currently, {% data variables.product.prodname_classroom %} doesn't support import of roster data from Blackboard or Brightspace. -## Generating configuration credentials for your classroom +## Connecting to Google Classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} @@ -48,90 +47,16 @@ Currently, {% data variables.product.prodname_classroom %} doesn't support impor 1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster. - For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." - For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)." -1. In the list of LMSes, click your LMS. If your LMS is not supported, click **Other LMS**. - ![List of LMSes](/assets/images/help/classroom/classroom-settings-click-lms.png) -1. Read about connecting your LMS, then click **Connect to _LMS_**. -1. Copy the "Consumer Key", "Shared Secret", and "Launch URL" for the connection to the classroom. - ![Copy credentials](/assets/images/help/classroom/classroom-copy-credentials.png) +1. In the list of LMSes, click Google Classroom. + ![Google Classroom](/assets/images/help/classroom/classroom-settings-click-google-classroom.png) +1. Sign in to Google, then select the Classroom to link to. -## Configuring a generic LMS -You must configure the privacy settings for your LMS to allow external tools to receive roster information. +## Connecting to Canvas, Moodle, Sakai, and other LMSes -1. Navigate to your LMS. -1. Configure an external tool. -1. Provide the configuration credentials you generated in {% data variables.product.prodname_classroom %}. - - Consumer key - - Shared secret - - Launch URL (sometimes called "tool URL" or similar) +Connecting to other LMSes is temporarily unavailable as {% data variables.product.company_short %} updates to Learning Tools Interoperability (LTI) version 1.3. For more information, see "[Supported LMSes](#supported-lmses)." -## Configuring Canvas - -You can configure {% data variables.product.prodname_classroom %} as an external app for Canvas to import roster data into your classroom. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/). - -1. Sign into [Canvas](https://www.instructure.com/canvas/#login). -1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}. -1. In the left sidebar, click **Settings**. -1. Click the **Apps** tab. -1. Click **View app configurations**. -1. Click **+App**. -1. Select the **Configuration Type** drop-down menu, and click **By URL**. -1. Paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." - - | Field in Canvas app configuration | Value or setting | - | :- | :- | - | **Consumer Key** | Consumer key from {% data variables.product.prodname_classroom %} | - | **Shared Secret** | Shared secret from {% data variables.product.prodname_classroom %} | - | **Allow this tool to access the IMS Names and Role Provisioning Service** | Enabled | - | **Configuration URL** | Launch URL from {% data variables.product.prodname_classroom %} | - - {% note %} - - **Note**: If you don't see a checkbox in Canvas labeled "Allow this tool to access the IMS Names and Role Provisioning Service", then your Canvas administrator must contact Canvas support to enable membership service configuration for your Canvas account. Without enabling this feature, you won't be able to sync the roster from Canvas. For more information, see [How do I contact Canvas Support?](https://community.canvaslms.com/t5/Canvas-Basics-Guide/How-do-I-contact-Canvas-Support/ta-p/389767) on the Canvas website. - - {% endnote %} - -1. Click **Submit**. -1. In the left sidebar, click **Home**. -1. To prompt Canvas to send a confirmation email, in the left sidebar, click **GitHub Classroom**. Follow the instructions in the email to finish linking {% data variables.product.prodname_classroom %}. - -## Configuring Moodle - -You can configure {% data variables.product.prodname_classroom %} as an activity for Moodle to import roster data into your classroom. For more information about Moodle, see the [Moodle website](https://moodle.org). - -You must be using Moodle version 3.0 or greater. - -1. Sign into [Moodle](https://moodle.org/login/). -1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}. -1. Click **Turn editing on**. -1. Wherever you'd like {% data variables.product.prodname_classroom %} to be available in Moodle, click **Add an activity or resource**. -1. Choose **External tool** and click **Add**. -1. In the "Activity name" field, type "GitHub Classroom". -1. In the **Preconfigured tool** field, to the right of the drop-down menu, click **+**. -1. Under "External tool configuration", paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." - - | Field in Moodle app configuration | Value or setting | - | :- | :- | - | **Tool name** | {% data variables.product.prodname_classroom %} - _YOUR CLASSROOM NAME_

**Note**: You can use any name, but we suggest this value for clarity. | - | **Tool URL** | Launch URL from {% data variables.product.prodname_classroom %} | - | **LTI version** | LTI 1.0/1.1 | - | **Default launch container** | New window | - | **Consumer key** | Consumer key from {% data variables.product.prodname_classroom %} | - | **Shared secret** | Shared secret from {% data variables.product.prodname_classroom %} | - -1. Scroll to and click **Services**. -1. To the right of "IMS LTI Names and Role Provisioning", select the drop-down menu and click **Use this service to retrieve members' information as per privacy settings**. -1. Scroll to and click **Privacy**. -1. To the right of **Share launcher's name with tool** and **Share launcher's email with tool**, select the drop-down menus to click **Always**. -1. At the bottom of the page, click **Save changes**. -1. In the **Preconfigure tool** menu, click **GitHub Classroom - _YOUR CLASSROOM NAME_**. -1. Under "Common module settings", to the right of "Availability", select the drop-down menu and click **Hide from students**. -1. At the bottom of the page, click **Save and return to course**. -1. Navigate to anywhere you chose to display {% data variables.product.prodname_classroom %}, and click the {% data variables.product.prodname_classroom %} activity. - -## Importing a roster from your LMS - -For more information about importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." +In the meantime, you may manually input your roster for your class. For more information about manually importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." ## Disconnecting your LMS diff --git a/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md b/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md index 46598b60cb..5b0acf5237 100644 --- a/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md +++ b/translations/es-ES/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment.md @@ -9,48 +9,48 @@ shortTitle: Rechazar una tarea ## Acerca de reutilizar tareas -Puedes reutilizar una tarea grupal o individual existente en cualquier otra aula a la cual tengas acceso, incluyendo aquellas en una organización distinta. También puedes reutilizar tareas múltiples a la vez desde un aula. Si eliges reutilizar una tarea, {% data variables.product.prodname_classroom %} la copiará al aula que elijas. If the assignment uses a template repository and you choose to reuse it in a classroom from a different organization, {% data variables.product.prodname_classroom %} will create a copy of the repository and its contents in the target organization. +Puedes reutilizar una tarea grupal o individual existente en cualquier otra aula a la cual tengas acceso, incluyendo aquellas en una organización distinta. También puedes reutilizar tareas múltiples a la vez desde un aula. Si eliges reutilizar una tarea, {% data variables.product.prodname_classroom %} la copiará al aula que elijas. Si la tarea utiliza un repositorio en borrador y eliges reutilizarlo en un aula desde una organización diferente, {% data variables.product.prodname_classroom %} creará una copia del repositorio y de su contenido en la organización destino. -The copied assignment includes assignment details such as the name, source repository, autograding test, and preferred editor. You can edit the assignment after it has been copied to make changes. You cannot make changes to the preferred editor. +La tarea copiada incluye detalles de esta, tales como el nombre, el repositorio origen, pruebas de autoevaluación y el editor preferido. Puedes editar esta tarea después de que se copió para realizar cambios. No puedes hacer cambios al editor preferido. -## Reusing an assignment +## Reutilizar una tarea 1. Inicia sesión en {% data variables.product.prodname_classroom_with_url %}. -1. Navigate to the classroom that has the assignment that you want to reuse. +1. Navega al aula que tiene la tarea que quieras reutilizar. ![Aula en la lista de aulas de una organización](/assets/images/help/classroom/click-classroom-in-list.png) -1. In the list of assignments, click the assignment you want to reuse. +1. En la lista de tareas, haz clic en aquella que quieras reutilizar. ![Lista de tareas para las tareas de un aula](/assets/images/help/classroom/click-assignment-in-list.png) -1. Select the **{% octicon "pencil" aria-label="The pencil icon" %} Edit** dropdown menu in the top right of the page, then click **{% octicon "sync" aria-label="The sync icon" %} Reuse assignment**. +1. Selecciona el menú desplegable de **{% octicon "pencil" aria-label="The pencil icon" %} Editar** en la parte superior derecha de la página y luego haz clic en **{% octicon "sync" aria-label="The sync icon" %} Reutilizar tarea**. - ![Reuse assignment button](/assets/images/help/classroom/reuse-assignment-button.png) + ![Botón de reutilizar tarea](/assets/images/help/classroom/reuse-assignment-button.png) -1. In the "Reuse assignment" modal, use the **Choose an organization** dropdown menu to select the organization you want the assignment to be in. Then use the **Choose a classroom** dropdown menu to select the classroom within that organization that you want to copy the assignment to. +1. En el modl de "Reutilizar tarea", utiliza el menú desplegable **Elegir una organización** para seleccionar aquella en la cual quieras que esté la tarea. Luego, utiliza el menú desplegable **Elegir un aula** para seleccionar el aula dentro de la organización en la que quieres copiar la tarea. - ![Reuse assignment modal](/assets/images/help/classroom/reuse-assignment-modal.png) + ![Modal de reutilizar tarea](/assets/images/help/classroom/reuse-assignment-modal.png) -1. Click **Create assignment**. -1. The assignment is copied to the selected classroom, and a confirmation message is shown. If you chose to reuse an assignment with a template repository, the copying process may take a few minutes to complete, and you may need to refresh the page to see the completed message. +1. Haz clic en **Crear tarea**. +1. La tarea se copiará al aula seleccionada y se mostrará un mensaje de confirmación. Si eliges reutilizar una tarea con una plantilla de repositorio, el proceso de copiado podría llevar unos minutos para completarse y podrías necesitar actualizar la página para ver el mensaje de completado. - ![Completed message for reused assignment](/assets/images/help/classroom/reuse-assignment-completed-message.png) + ![Mensaje completado para la tarea reutilizada](/assets/images/help/classroom/reuse-assignment-completed-message.png) -## Reusing multiple assignments from a classroom +## Reutilizar tareas múltiples de un aula 1. Inicia sesión en {% data variables.product.prodname_classroom_with_url %}. -2. To the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Reuse assignment**. +2. A la derecha del nombre del aula, selecciona el menú desplegable de {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} y haz clic en **Reutilizar tarea**. - ![Screenshot of classroom overview page with dropdown emphasized](/assets/images/help/classroom/classroom-reuse-assignment-modal.png) + ![Captura de pantalla de la página de resumen del aula con énfasis en el menú desplegable](/assets/images/help/classroom/classroom-reuse-assignment-modal.png) -3. In the "Reuse assignments" modal, use the **Choose an organization** dropdown menu to select the organization you want the assignments to be in. Then use the **Choose a classroom** dropdown menu to select the classroom within that organization that you want to copy the assignments to. +3. En el modal de "Reutilizar tareas", utiliza el menú desplegable **Elige una organización** para seleccionar aquella en la que quieres que estén las tareas. Luego, utiliza el menú desplegable **Elegir un aula** para seleccionar el aula dentro de la organización en la que quieres copiar la tarea. - ![Screenshot of reuse assignments modal](/assets/images/help/classroom/reuse-multiple-assignments-modal.png) + ![Captura de pantalla del modal de reutilización de tareas](/assets/images/help/classroom/reuse-multiple-assignments-modal.png) -4. To the left of each assignment, select the assignment you want to reuse. +4. A la izquierda de cada tarea, selecciona aquella que quieras reutilizar. - ![Screenshot of multiple selected assignments](/assets/images/help/classroom/multiple-assignments-selected.png) + ![Captura de pantalla de múltiples tareas seleccionadas](/assets/images/help/classroom/multiple-assignments-selected.png) -5. Click **Create assignments**. -6. The assignments are copied to the selected classroom. If you chose to reuse an assignment with a template repository, the copying process may take a few minutes to complete. +5. Haz clic en **Crear tareas**. +6. Las tareas se copiarán al aula seleccionada. Si eliges reutilizar una tarea con un repositorio de plantilla, el proceso de copiado podrá tomar unos cuantos minutos en completarse. diff --git a/translations/es-ES/content/get-started/exploring-projects-on-github/following-organizations.md b/translations/es-ES/content/get-started/exploring-projects-on-github/following-organizations.md index fbcb4c8cb0..d3bd49710a 100644 --- a/translations/es-ES/content/get-started/exploring-projects-on-github/following-organizations.md +++ b/translations/es-ES/content/get-started/exploring-projects-on-github/following-organizations.md @@ -7,15 +7,11 @@ topics: - Profile --- -{% note %} - -**Nota:** La capacidad de seguir organizaciones se encuentra actualmente en beta público y está sujeta a cambios. - -{% endnote %} +{% data reusables.organizations.follow-organizations-beta %} ## Aceca de los seguidores en {% data variables.product.product_name %} -Cuando sigues organizaciones, puedes ver su actividad pública en tu tablero personal. Para obtener más información, consulta "[Acerca de tu tablero personal](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)". +{% data reusables.organizations.about-following-organizations %} For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." Puedes dejar de seguir a una organización si no quieres ver su actividad {% ifversion fpt or ghec %}pública{% endif %} en {% data variables.product.product_name %}. diff --git a/translations/es-ES/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md b/translations/es-ES/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md index 78176f43ab..dcc1431bc8 100644 --- a/translations/es-ES/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md +++ b/translations/es-ES/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md @@ -57,11 +57,21 @@ Si tienes repositorios o código fuente existentes que se almacenan localmente e 1. [Crear un repositorio nuevo](/repositories/creating-and-managing-repositories/creating-a-new-repository) en {% data variables.product.product_location %}. Para evitar errores, no inicialices el nuevo repositorio con archivos *README* licencia o `gitingnore`. Puedes agregar estos archivos después de que tu proyecto se haya subido a {% data variables.product.product_name %}. ![Desplegable Create New Repository (Crear nuevo repositorio)](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Cambiar el directorio de trabajo actual en tu proyecto local. -4. Inicializar el directorio local como un repositorio de Git. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Agregar los archivos a tu nuevo repositorio local. Esto representa la primera confirmación. + ```shell $ git add . # Agrega el archivo en el repositorio local y lo presenta para la confirmación. {% data reusables.git.unstage-codeblock %} @@ -92,10 +102,19 @@ Si tienes repositorios o código fuente existentes que se almacenan localmente e 1. [Crear un repositorio nuevo](/articles/creating-a-new-repository) en {% data variables.product.product_location %}. Para evitar errores, no inicialices el nuevo repositorio con archivos *README* licencia o `gitingnore`. Puedes agregar estos archivos después de que tu proyecto se haya subido a {% data variables.product.product_name %}. ![Desplegable Create New Repository (Crear nuevo repositorio)](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Cambiar el directorio de trabajo actual en tu proyecto local. -4. Inicializar el directorio local como un repositorio de Git. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Agregar los archivos a tu nuevo repositorio local. Esto representa la primera confirmación. ```shell $ git add . @@ -127,10 +146,19 @@ Si tienes repositorios o código fuente existentes que se almacenan localmente e 1. [Crear un repositorio nuevo](/articles/creating-a-new-repository) en {% data variables.product.product_location %}. Para evitar errores, no inicialices el nuevo repositorio con archivos *README* licencia o `gitingnore`. Puedes agregar estos archivos después de que tu proyecto se haya subido a {% data variables.product.product_name %}. ![Desplegable Create New Repository (Crear nuevo repositorio)](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Cambiar el directorio de trabajo actual en tu proyecto local. -4. Inicializar el directorio local como un repositorio de Git. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Agregar los archivos a tu nuevo repositorio local. Esto representa la primera confirmación. ```shell $ git add . diff --git a/translations/es-ES/content/get-started/quickstart/be-social.md b/translations/es-ES/content/get-started/quickstart/be-social.md index 9938fad6cb..27cfae157f 100644 --- a/translations/es-ES/content/get-started/quickstart/be-social.md +++ b/translations/es-ES/content/get-started/quickstart/be-social.md @@ -57,7 +57,23 @@ From your dashboard, click the drop down menu of your username on the left side ![Switch account context dropdown](/assets/images/help/overview/dashboard-contextswitcher.png) -### Exploring other projects on {% data variables.product.prodname_dotcom %} +{% ifversion for-you-feed %} + +## Following organizations + +{% data reusables.organizations.follow-organizations-beta %} + +{% data reusables.organizations.about-following-organizations %} + +To follow an organization, in the header of the organization's page, click **Follow**. + +![Screenshot of the organization header, with the follow button highlighted](/assets/images/help/profile/organization-profile-following.png) + +For more information, see "[Following organizations](/get-started/exploring-projects-on-github/following-organizations)." + +{% endif %} + +## Exploring other projects on {% data variables.product.prodname_dotcom %} You can discover new and interesting projects on {% data variables.product.prodname_dotcom %}'s Explore page. You can star interesting projects to make them easy to find again later. Visit your stars page to see all your starred projects. For more information about stars, see "[Saving repositories with stars](/get-started/exploring-projects-on-github/saving-repositories-with-stars)." diff --git a/translations/es-ES/content/get-started/quickstart/fork-a-repo.md b/translations/es-ES/content/get-started/quickstart/fork-a-repo.md index 600c30dca4..9d3c9526b6 100644 --- a/translations/es-ES/content/get-started/quickstart/fork-a-repo.md +++ b/translations/es-ES/content/get-started/quickstart/fork-a-repo.md @@ -118,7 +118,7 @@ Right now, you have a fork of the Spoon-Knife repository, but you do not have th > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. - > remove: Total 10 (delta 1), reused 10 (delta 1) + > remote: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done. ``` diff --git a/translations/es-ES/content/graphql/guides/migrating-graphql-global-node-ids.md b/translations/es-ES/content/graphql/guides/migrating-graphql-global-node-ids.md index d784a1a9ca..465262cf93 100644 --- a/translations/es-ES/content/graphql/guides/migrating-graphql-global-node-ids.md +++ b/translations/es-ES/content/graphql/guides/migrating-graphql-global-node-ids.md @@ -32,7 +32,7 @@ Aquí tienes una solicitud de ejemplo que utiliza cURL: ``` $ curl \ - -H "Authorization: token $GITHUB_TOKEN" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "X-Github-Next-Global-ID: 1" \ https://api.github.com/graphql \ -d '{ "query": "{ node(id: \"MDQ6VXNlcjM0MDczMDM=\") { id } }" }' diff --git a/translations/es-ES/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md b/translations/es-ES/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md index 1ec014d1b2..0a6335918a 100644 --- a/translations/es-ES/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md +++ b/translations/es-ES/content/issues/planning-and-tracking-with-projects/automating-your-project/using-the-api-to-manage-projects.md @@ -70,7 +70,7 @@ Puedes encontrar la ID de nodo de un proyecto organizacional si conoces el nombr ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{organization(login: \"ORGANIZATION\") {projectV2(number: NUMBER){id}}}"}' ``` {% endcurl %} @@ -94,7 +94,7 @@ También puedes encontrar la ID de nodo de todos los proyectos en tu organizaci ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"{organization(login: \"ORGANIZATION\") {projectsV2(first: 20) {nodes {id title}}}}"}' ``` {% endcurl %} @@ -125,7 +125,7 @@ Puedes encontrar la ID de nodo de un proyecto de usuario si conoces el número d ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{user(login: \"USER\") {projectV2(number: NUMBER){id}}}"}' ``` {% endcurl %} @@ -149,7 +149,7 @@ También puedes encontrar la ID de nodo de todos tus proyectos. El siguiente eje ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"{user(login: \"USER\") {projectsV2(first: 20) {nodes {id title}}}}"}' ``` {% endcurl %} @@ -180,7 +180,7 @@ El siguiente ejemplo devolverá la ID, nombre, ajustes y configuración para los ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { fields(first: 20) { nodes { ... on ProjectV2Field { id name } ... on ProjectV2IterationField { id name configuration { iterations { startDate id }}} ... on ProjectV2SingleSelectField { id name options { id name }}}}}}}"}' ``` {% endcurl %} @@ -284,7 +284,7 @@ Si solo necesitas el nombre e ID de un campo y no necesitas información sobre l ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { fields(first: 20) { nodes { ... on ProjectV2FieldCommon { id name }}}}}}"}' ``` {% endcurl %} @@ -354,7 +354,7 @@ El siguiente ejemplo devolverá las primeras 20 propuestas, solicitudes de cambi ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"query{ node(id: \"PROJECT_ID\") { ... on ProjectV2 { items(first: 20) { nodes{ id fieldValues(first: 8) { nodes{ ... on ProjectV2ItemFieldTextValue { text field { ... on ProjectV2FieldCommon { name }}} ... on ProjectV2ItemFieldDateValue { date field { ... on ProjectV2FieldCommon { name } } } ... on ProjectV2ItemFieldSingleSelectValue { name field { ... on ProjectV2FieldCommon { name }}}}} content{ ... on DraftIssue { title body } ...on Issue { title assignees(first: 10) { nodes{ login }}} ...on PullRequest { title assignees(first: 10) { nodes{ login }}}}}}}}}"}' ``` {% endcurl %} @@ -446,7 +446,7 @@ El siguiente ejemplo agregará una propuesta o solicitud de cambios a tu proyect ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {addProjectV2ItemById(input: {projectId: \"PROJECT_ID\" contentId: \"CONTENT_ID\"}) {item {id}}}"}' ``` {% endcurl %} @@ -488,8 +488,8 @@ El siguiente ejemplo agregará un borrador de propuesta a tu proyecto. Reemplaza ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ - --data '{"query":"mutation {addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) {item {id}}}"}' + --header 'Authorization: Bearer TOKEN' \ + --data '{"query":"mutation {addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) {projectItem {id}}}"}' ``` {% endcurl %} @@ -498,7 +498,7 @@ curl --request POST \ gh api graphql -f query=' mutation { addProjectV2DraftIssue(input: {projectId: "PROJECT_ID" title: "TITLE" body: "BODY"}) { - item { + projectItem { id } } @@ -512,7 +512,7 @@ La respuesta contendrá la ID de nodo del borrador de propuesta recién creado. { "data": { "addProjectV2ItemById": { - "item": { + "projectItem": { "id": "PVTI_lADOANN5s84ACbL0zgBbxFc" } } @@ -528,7 +528,7 @@ El siguiente ejemplo actualizará los ajustes de tu proyecto. Reemplaza a `PROJE ```shell curl --request POST \ --url https://api.github.com/graphql \ ---header 'Authorization: token TOKEN' \ +--header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation { updateProjectV2(input: { projectId: \"PROJECT_ID\", title: \"Project title\", public: false, readme: \"# Project README\n\nA long description\", shortDescription: \"A short description\"}) { projectV2 { id, title, readme, shortDescription }}}"}' ``` {% endcurl %} @@ -565,7 +565,7 @@ El siguiente ejemplo actualizará el valor de un campo de texto para un elemento ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { text: "Updated text" }}) { projectV2Item { id }}}"}' ``` {% endcurl %} @@ -619,7 +619,7 @@ El siguiente ejemplo actualizará el valor de un campo de selección simple para ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}' ``` {% endcurl %} @@ -659,7 +659,7 @@ El siguiente ejemplo actualizará el valor de un campo de iteración para un ele ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}' ``` {% endcurl %} @@ -694,7 +694,7 @@ El siguiente ejemplo borrará un elemento de un proyecto. Reemplaza a `PROJECT_I ```shell curl --request POST \ --url https://api.github.com/graphql \ - --header 'Authorization: token TOKEN' \ + --header 'Authorization: Bearer TOKEN' \ --data '{"query":"mutation {deleteProjectV2Item(input: {projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\"}) {deletedItemId}}"}' ``` {% endcurl %} diff --git a/translations/es-ES/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/translations/es-ES/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index a0a5c21c5d..d39c4e42b9 100644 --- a/translations/es-ES/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/translations/es-ES/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -24,7 +24,7 @@ Para transferir una propuesta abierta a otro repositorio, debes tener acceso de {% endnote %} -Cuando transfieres una propuesta, los comentarios, etiquetas y asignados se retienen. Los hitos de la propuesta no se retienen. Esta propuesta se mantendrá en cualquier tablero de proyecto que pertenezca al usuario o que se encuentre en la organización y se eliminará de cualquier tablero de proyecto de los repositorios. Para obtener más información, consulta "[Acerca de los tableros de proyectos](/articles/about-project-boards)." +Cuando transfieres un informe de problemas, se retendrá tanto los comentarios como las personas asignadas. Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. Esta propuesta se mantendrá en cualquier tablero de proyecto que pertenezca al usuario o que se encuentre en la organización y se eliminará de cualquier tablero de proyecto de los repositorios. Para obtener más información, consulta "[Acerca de los tableros de proyectos](/articles/about-project-boards)." Las personas o equipos que se mencionan en la propuesta recibirán una notificación que les haga saber que la propuesta se transfirió a un repositorio nuevo. La URL original se redirige a la URL nueva de la propuesta. Las personas que no tengan permisos de lectura en el repositorio nuevo verán un anuncio que les hará saber que la propuesta se transfirió a un repositorio nuevo al que no pueden acceder. diff --git a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index dffbe6224a..15cb0d21cd 100644 --- a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -36,15 +36,22 @@ También puedes configurar las direcciones IP permitidas para las organizaciones ## Agregar una dirección IP permitida +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Habilitar direcciones IP permitidas +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -69,6 +76,8 @@ Para obtener más información sobre cómo crear una lista de direcciones permit ## Editar una dirección IP permitida +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -76,6 +85,18 @@ Para obtener más información sobre cómo crear una lista de direcciones permit {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 1. Da clic en **Actualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificar si se permite una dirección IP + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## Eliminar una dirección IP permitida diff --git a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md index cf4304bc34..7b668c8fea 100644 --- a/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md +++ b/translations/es-ES/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md @@ -741,7 +741,7 @@ Para obtener más información, consulta la sección "[Administrar la publicaci | Acción | Descripción | | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `create (crear)` | Se activa cuando un propietario de una organización crea un rol de repositorio personalizado nuevo. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | -| `destroy (destruir)` | Triggered when an organization owner deletes a custom repository role. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | +| `destroy (destruir)` | Se activa cuando un propietario de organización borra un rol de repositorio personalizado. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | | `actualización` | Se activa cuando un propietario de una organización edita un rol de repositorio personalizado existente. Para obtener más información, consulta la sección "[Administrar los roles personalizados de repositorio en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". | {% endif %} diff --git a/translations/es-ES/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md b/translations/es-ES/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md index 12cf639d3e..f974194597 100644 --- a/translations/es-ES/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md +++ b/translations/es-ES/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md @@ -1,6 +1,6 @@ --- title: Habilitar o inhabilitar los debates de GitHub para una organización -intro: 'Puedes utilizar {% data variables.product.prodname_discussions %} en una organización como un lugar en el que esta pueda tener conversaciones que no sean específicas para un solo repositorio dentro de ella.' +intro: 'You can use {% data variables.product.prodname_discussions %} in an organization as a place for your organization to have conversations that aren''t specific to a single repository within your organization.' permissions: 'Organization owners can enable {% data variables.product.prodname_discussions %} for their organization.' versions: feature: discussions diff --git a/translations/es-ES/content/packages/index.md b/translations/es-ES/content/packages/index.md index a486e6d606..3b87646850 100644 --- a/translations/es-ES/content/packages/index.md +++ b/translations/es-ES/content/packages/index.md @@ -18,6 +18,7 @@ featuredLinks: guideCards: - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' - '{% ifversion fpt or ghec or ghes > 3.4 %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion packages-npm-v2 %}/packages/working-with-a-github-packages-registry/working-with-the-npm-registry{% endif %}' - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry changelog: label: packages diff --git a/translations/es-ES/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/translations/es-ES/content/packages/learn-github-packages/about-permissions-for-github-packages.md index 504c1ca13a..06f4205897 100644 --- a/translations/es-ES/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/translations/es-ES/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -18,20 +18,22 @@ Los permisos de los paquetes pueden ser con alcance de repositorio o de usuario/ Un paquete con alcance de repositorio hereda los permisos y la visibilidad del repositorio al que pertenece el paquete. Puedes encontrar un paquete con alcance de un repositorio específico si vas a la página principal de este y haces clic en el enlace de **Paquetes** a la derecha de la página. {% ifversion fpt or ghec %}Para obtener más información, consulta la sección "[Conectar un repositorio con un paquete](/packages/learn-github-packages/connecting-a-repository-to-a-package)".{% endif %} -Los registros del {% data variables.product.prodname_registry %} que se mencionan a continuación utilizan permisos con alcance de repositorio: +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: {% ifversion not fpt or ghec %}- Docker registry (`docker.pkg.github.com`){% endif %} - - Registro de npm + {% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - Registro de RubyGems - Registro de Apache maven - Registro de NuGet +{% ifversion packages-npm-v2 %}For {% data variables.product.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} + {% ifversion fpt or ghec %} ## Permisos granulares para paquetes con alcance de organización/usuario Los paquetes con permisos granulares tienen un alcance de una cuenta personal o de organización. Puedes cambiar el control de accesos y la visibilidad del paquete de forma separada desde un repositorio que esté conectado (o enlazado) a un paquete. -Actualmente, solo el {% data variables.product.prodname_container_registry %} ofrece permisos granulares para tus paquetes de imagen de contenedor. +Currently, the {% data variables.product.prodname_ghcr_and_npm_registry %} offer granular permissions for your container image packages. ## Permisos de visibilidad y acceso para las imágenes de contenedor diff --git a/translations/es-ES/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/translations/es-ES/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md index f1b170aa60..015ef76cff 100644 --- a/translations/es-ES/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md +++ b/translations/es-ES/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -16,7 +16,7 @@ shortTitle: Visibilidad & control de accesos Los paquetes con permisos granulares tienen un alcance de una cuenta personal o de organización. Puedes cambiar la visibilidad y el control de accesos de un paquete por separado desde el repositorio al cual está conectado (o enlazado). -Actualmente, solo puedes utilizar permisos granulares con el {% data variables.product.prodname_container_registry %}. Los permisos granulares no son compatibles en nuestros otros registros de paquete, tales como el registro de npm.{% ifversion docker-ghcr-enterprise-migration %} Para obtener más información sobre la migración del {% data variables.product.prodname_container_registry %}, consulta la sección "[Migrarse al {% data variables.product.prodname_container_registry %} desde el registro de Docker](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)".{% endif %} +Actualmente, solo puedes utilizar permisos granulares con el {% data variables.product.prodname_ghcr_and_npm_registry %}. Granular permissions are not supported in our other package registries, such as the RubyGems registry.{% ifversion docker-ghcr-enterprise-migration %} For more information about migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)."{% endif %} Para obtener más información sobre los permisos de los paquetes con alcance de repositorio, los alcances relacionados con paquetes para los PAT o para administrar permisos para los flujos de trabajo de tus acciones, consulta la sección "[Acerca de los permisos para los Paquetes de GitHub](/packages/learn-github-packages/about-permissions-for-github-packages)". @@ -95,7 +95,7 @@ Para personalizar aún más el acceso a tu imagen de contenedor, consulta la sec {% ifversion fpt or ghec %} ## Asegurarse de que {% data variables.product.prodname_codespaces %} puede acceder a tu paquete -Predeterminadamente, un codespace puede acceder sin problema a algunos paquetes en el Registro de Contenedores de {% data variables.product.prodname_dotcom %}, tales como aquellos que se publican en el mismo repositorio con la opción de **Heredar acceso** seleccionada. Para obtener más información sobre qué tipo de acceso se configura automáticamente, consulta la sección "[Acceder a las imágenes almacenadas en el Registro de Contenedores de {% data variables.product.prodname_dotcom %}](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-github-container-registry)". +By default, a codespace can seamlessly access certain packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, such as those published in the same repository with the **Inherit access** option selected. For more information on which access is automatically configured, see "[Allowing your codespace to access a private image registry](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-container-registry-and-npm-registry)." De otra manera, para asegurarte de que un codespace tiene acceso a tu paquete, debes otorgar acceso al repositorio en donde se esté lanzando dicho codespace. 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 d4e95b8159..456eca2565 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 @@ -23,12 +23,12 @@ On {% data variables.product.prodname_dotcom %} if you have the required access, - an entire private package - an entire public package, if there's not more than 5000 downloads of any version of the package - a specific version of a private package -- a specific version of a public package, if the package version doesn't have more than 5000 downloads +- a specific version of a public package, if the package version doesn't have more than 5,000 downloads {% note %} **Note:** -- You cannot delete a public package if any version of the package has more than 5000 downloads. In this scenario, contact [GitHub support](https://support.github.com/contact?tags=docs-packages) for further assistance. +- You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact [GitHub support](https://support.github.com/contact?tags=docs-packages) for further assistance. - When deleting public packages, be aware that you may break projects that depend on your package. {% endnote %} @@ -46,7 +46,7 @@ You can use the REST API to manage your packages. For more information, see the {% endif %} -For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`.{% endif %} For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." +For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% data reusables.package_registry.no-graphql-to-delete-packages %} For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." {% endif %} @@ -54,18 +54,19 @@ For packages that inherit their permissions and access from repositories, you ca For packages that inherit their access permissions from repositories, you can delete a package if you have admin permissions to the repository. -Repository-scoped packages on {% data variables.product.prodname_registry %} include these packages: -- npm -- RubyGems -- maven -- Gradle -- NuGet -{% ifversion not fpt or ghec %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: + + {% ifversion not fpt or ghec %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm{% endif %} + - RubyGems registry + - Apache Maven registry + - NuGet registry + +{% ifversion packages-npm-v2 %}For {% data variables.product.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} {% ifversion fpt or ghec %} -To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME`, you must have admin access to the package. -For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." +To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME` or `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`, you must have admin access to the package. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." {% endif %} @@ -89,9 +90,7 @@ To delete a version of a repository-scoped package, you must have admin permissi For packages that inherit their permissions and access from repositories, you can use the GraphQL to delete a specific package version. -{% ifversion fpt or ghec %} -For containers or Docker images at `ghcr.io`, GraphQL is not supported but you can use the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." -{% endif %} +{% data reusables.package_registry.no-graphql-to-delete-packages %}{% ifversion fpt or ghec %} You can however use the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)."{% endif %} Use the `deletePackageVersion` mutation in the GraphQL API. You must use a token with the `read:packages`, `delete:packages`, and `repo` scopes. For more information about tokens, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." diff --git a/translations/es-ES/content/packages/learn-github-packages/introduction-to-github-packages.md b/translations/es-ES/content/packages/learn-github-packages/introduction-to-github-packages.md index fc5090006e..5450ffcff9 100644 --- a/translations/es-ES/content/packages/learn-github-packages/introduction-to-github-packages.md +++ b/translations/es-ES/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -51,7 +51,7 @@ For more information about the configuration of {% data variables.product.prodna | | | |--------------------|--------------------| -| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | | Visibility | {% data reusables.package_registry.public-or-private-packages %} | For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." @@ -101,7 +101,9 @@ For more information about Docker and the {% data variables.product.prodname_con ## Managing packages {% ifversion fpt or ghec %} -You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." +You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% data reusables.package_registry.no-graphql-to-delete-packages %} {% endif %} {% ifversion ghes %} @@ -112,7 +114,9 @@ You can delete a private or public package in the {% data variables.product.prod You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. + +For more information, see {% ifversion ghes or ghae %}"[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and {% endif %}"[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." diff --git a/translations/es-ES/content/packages/learn-github-packages/viewing-packages.md b/translations/es-ES/content/packages/learn-github-packages/viewing-packages.md index 1fe540bc95..bf14b2ab7c 100644 --- a/translations/es-ES/content/packages/learn-github-packages/viewing-packages.md +++ b/translations/es-ES/content/packages/learn-github-packages/viewing-packages.md @@ -23,15 +23,15 @@ versions: Tu capacidad de ver un paquete depende de varios factores. Predeterminadamente, puedes ver todos los paquetes que hayas publicado. -Los paquetes con alcance de repositorio heredan sus permisos y visibilidad desde el repositorio al que pertenece el paquete. Los siguientes registros utilizan este tipo de permisos:{% ifversion not fpt or ghec %} +Los paquetes con alcance de repositorio heredan sus permisos y visibilidad desde el repositorio al que pertenece el paquete. The registries below **only** use this type of permissions:{% ifversion not fpt or ghec %} - Registro de Docker (`docker.pkg.github.com`){% endif %} -- Registro de npm +{% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - Registro de RubyGems - Registro de Apache maven - Registro de NuGet {% ifversion fpt or ghec %} -El registro del contenedor te ofrece la opción de contar con permisos granulares y configuraciones de visibilidad que se pueden personalizar para cada paquete que pertenezca a un usuario personal o a una cuenta de organización. Puedes elegir utilizar permisos granulares o conectar el paquete a un repositorio y heredar sus permisos. Para obtener más información, consulta la sección "[Conectar un repositorio a un paquete](/packages/learn-github-packages/connecting-a-repository-to-a-package)". +The {% data variables.product.prodname_ghcr_and_npm_registry %} offer you the option of granular permissions and visibility settings that can be customized for each package owned by a personal user or organization account. Puedes elegir utilizar permisos granulares o conectar el paquete a un repositorio y heredar sus permisos. Para obtener más información, consulta la sección "[Conectar un repositorio a un paquete](/packages/learn-github-packages/connecting-a-repository-to-a-package)". {% endif %} Para obtener más información, consulta las secciones "[Acerca de los permisos para GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages){% ifversion fpt or ghec %}" y "[Configurar el control de accesos y la visibilidad de un paquete](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility){% endif %}". diff --git a/translations/es-ES/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/translations/es-ES/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md index 83da88a908..530258476f 100644 --- a/translations/es-ES/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md +++ b/translations/es-ES/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -24,9 +24,9 @@ shortTitle: Publicar & instalar con acciones Puedes ampliar las capacidades de CI y CD de tu repositorio publicando o instalando paquetes como parte de tu flujo de trabajo. {% ifversion fpt or ghec %} -### Autenticarse en el {% data variables.product.prodname_container_registry %} +### Authenticating to the {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} {% endif %} @@ -40,7 +40,7 @@ Puedes hacer referencia al `GITHUB_TOKEN` en tu archivo de flujo de trabajo medi {% note %} -**Nota:** Los paquetes que pertenecen a repositorios incluyen RubyGems, npm, Apache Maven, NuGet, {% ifversion fpt or ghec %}y Gradle. {% else %}Los paquetes de Gradle y de Docker que utilizan el designador de nombre del paquete `docker.pkg.github.com`.{% endif %} +**Note:** Some registries, such as RubyGems, {% ifversion packages-npm-v2 %}{% else %}npm, {% endif %}Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle{% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`{% endif %}, only allow repository-owned packages. With {% data variables.product.prodname_ghcr_and_npm_registry_full %} you can choose to allow packages to be owned by a user, an organization, or linked to a repository. {% endnote %} @@ -49,11 +49,11 @@ Cuando habilitas las Acciones de GitHub, GitHub instala una App GitHub en tu rep El {% data variables.product.prodname_registry %} te permite subir y extraer paquetes mediante el `GITHUB_TOKEN` que está disponible para un flujo de trabajo de {% data variables.product.prodname_actions %}. {% ifversion fpt or ghec %} -## Acerca de los permisos y el acceso de paquetes para el {% data variables.product.prodname_container_registry %} +## About permissions and package access for {% data variables.product.prodname_ghcr_and_npm_registry %} -El {% data variables.product.prodname_container_registry %} (`ghcr.io`) permite a los usuarios crear y administrar contenedores como recursos independientes a nivel organizacional. Los contenedores pueden pertenecerle a una cuenta personal o de organización y puedes personalizar el acceso a cada uno de ellos por separado desde los permisos de repositorio. +The {% data variables.product.prodname_ghcr_and_npm_registry_full %} allows users to create and administer packages as free-standing resources at the organization level. Packages can be owned by an organization or personal account and you can customize access to each of your packages separately from repository permissions. -Todos los flujos de trabajo que accedan al {% data variables.product.prodname_container_registry %} deben utilizar el `GITHUB_TOKEN` en vez de un token de acceso personal. Para obtener más información acerca de las mejores prácticas de seguridad, consulta la sección "[Fortalecimiento de seguridad para las GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)". +All workflows accessing the {% data variables.product.prodname_ghcr_and_npm_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. Para obtener más información acerca de las mejores prácticas de seguridad, consulta la sección "[Fortalecimiento de seguridad para las GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)". ## Configuración de acceso y permisos predeterminados para los contenedores que se modifican a través de los flujos de trabajo @@ -484,9 +484,9 @@ El instalar los paquetes que hospeda el {% data variables.product.prodname_regis {% data reusables.package_registry.actions-configuration %} {% ifversion fpt or ghec %} -## Actualizar un flujo de trabajo que tiene acceso a `ghcr.io` +## Upgrading a workflow that accesses a registry using a PAT -El {% data variables.product.prodname_container_registry %} es compatible con el `GITHUB_TOKEN` para una autenticación más fácil y segura en tus flujos de trabajo. Si tu flujo de trabajo está utilizando un token de acceso personal (PAT) para autenticarse en `ghcr.io`, entonces te recomendamos ampliamente que actualices tu flujo de trabajo para utilizar el `GITHUB_TOKEN`. +The {% data variables.product.prodname_ghcr_and_npm_registry %} support the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to the registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. Para obtener más información sobre el `GITHUB_TOKEN`, consulta la sección "[Autenticación en un flujo de trabajo](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)". @@ -501,9 +501,9 @@ El utilizar el `GITHUB_TOKEN` en vez de un PAT, el cual incluya el alcance de `r {% endnote %} 1. Opcionalmente, utiliza el menú desplegable de "rol", selecciona el nivel de acceso predeterminado que te gustaría que tuviera el repositorio en tu imagen de contenedor. ![Niveles de acceso de permisos para otorgar a los repositorios](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) -1. Abre tu archivo de flujo de trabajo. En la línea en donde ingresas a `ghcr.io`, reemplaza tu PAT con {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. +1. Abre tu archivo de flujo de trabajo. On the line where you log in to the registry, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. -Por ejemplo, este flujo de trabajo publica una imagen de Docker utilizando {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} para autenticarse. +For example, this workflow publishes a Docker image to the {% data variables.product.prodname_container_registry %} and uses {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. ```yaml{:copy} name: Demo Push diff --git a/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md index 6a866421ce..a47d638a3b 100644 --- a/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md +++ b/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -42,7 +42,9 @@ Cuando instalas o publicas una imagen de Docker, el {% data variables.product.pr ## Autenticarse en el {% data variables.product.prodname_container_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% ifversion fpt or ghec or ghes > 3.4 %} +Para autenticarte en el {% data variables.product.prodname_container_registry %} (`ghcr.io`) dentro de un flujo de trabajo de {% data variables.product.prodname_actions %}, utiliza el `GITHUB_TOKEN` para obtener la mejor seguridad y experiencia. {% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} +{% endif %} {% ifversion ghes %}Asegúrate de reemplazar a `HOSTNAME` con el nombre de host o dirección IP de {% data variables.product.product_location_enterprise %} en los siguientes ejemplos.{% endif %} diff --git a/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 6714384e4d..8007cd2b6f 100644 --- a/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/translations/es-ES/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -21,6 +21,8 @@ shortTitle: npm registry {% data reusables.package_registry.admins-can-configure-package-types %} +{% ifversion packages-npm-v2 %} +{% else %} ## Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. @@ -28,12 +30,17 @@ If you publish over 1,000 npm package versions to {% data variables.product.prod In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +{% endif %} ## Authenticating to {% data variables.product.prodname_registry %} {% data reusables.package_registry.authenticate-packages %} -{% data reusables.package_registry.authenticate-packages-github-token %} +{% ifversion packages-npm-v2 %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +You can also choose to give access permissions to packages independently for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_actions %}. For more information, see "[Ensuring Codespaces access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package) and [Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." +{% endif %} ### Authenticating with a personal access token @@ -94,12 +101,24 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} -By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. You can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. +{% ifversion packages-npm-v2 %} +The {% data variables.product.prodname_registry %} registry stores npm packages within your organization or personal account, and allows you to associate a package with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. +{% endif %} + +By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." +{% ifversion fpt or ghec %} +When a package is published, it isn't automatically linked to a repository. You can however choose to link your published package to a repository using the user interface or command line. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + You can set up the scope mapping for your project using either a local *.npmrc* file in the project or using the `publishConfig` option in the *package.json*. {% data variables.product.prodname_registry %} only supports scoped npm packages. Scoped packages have names with the format of `@owner/name`. Scoped packages always begin with an `@` symbol. You may need to update the name in your *package.json* to use the scoped name. For example, `"name": "@codertocat/hello-world-npm"`. +{% ifversion packages-npm-v2 %} +When you first publish a package, the default visibility is private. When a package is linked to repository, the package visibility is dependent on the repository's visibility. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." +{% endif %} + {% data reusables.package_registry.viewing-packages %} ### Publishing a package using a local *.npmrc* file diff --git a/translations/es-ES/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/translations/es-ES/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index b844e2251b..05e0b384b9 100644 --- a/translations/es-ES/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/translations/es-ES/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -47,7 +47,7 @@ To set up a `www` or custom subdomain, such as `www.example.com` or `blog.exampl {% data reusables.pages.sidebar-pages %} 4. Under "Custom domain", type your custom domain, then click **Save**. If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." ![Save custom domain button](/assets/images/help/pages/save-custom-subdomain.png) -5. Navigate to your DNS provider and create a `CNAME` record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain `www.example.com` for your user site, create a `CNAME` record that points `www.example.com` to `.github.io`. If you want to use the subdomain `www.anotherexample.com` for your organization site, create a `CNAME` record that points `www.anotherexample.com` to `.github.io`. The `CNAME` record should always point to `.github.io` or `.github.io`, excluding the repository name. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} +5. Navigate to your DNS provider and create a `CNAME` record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain `www.example.com` for your user site, create a `CNAME` record that points `www.example.com` to `.github.io`. If you want to use the subdomain `another.example.com` for your organization site, create a `CNAME` record that points `another.example.com` to `.github.io`. The `CNAME` record should always point to `.github.io` or `.github.io`, excluding the repository name. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} {% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} {% data reusables.command_line.open_the_multi_os_terminal %} diff --git a/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md index 4f87e13fa6..48bb45c952 100644 --- a/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md +++ b/translations/es-ES/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -59,9 +59,9 @@ shortTitle: Crear un sitio de GitHub Pages Puedes agregar más páginas a tu sitio creando más archivos nuevos. Cada archivo estará disponible en tu sitio en la misma estructura de directorios que tu fuente de publicación. Por ejemplo, si la fuente de publicación para tu sitio de proyectos es la rama `gh-pages`, y creas un archivo nuevo denominado `/about/contact-us.md` en la rama `gh-pages`, el archivo estará disponible en {% ifversion fpt or ghec %}`https://.github.io//{% else %}`http(s):///pages///{% endif %}about/contact-us.html`. -También puedes agregar un tema para personalizar la apariencia de tu sitio. For more information, see "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". +También puedes agregar un tema para personalizar la apariencia de tu sitio. Para obtener más información, consulta la sección "[Agregar un tema a tu sitio de {% data variables.product.prodname_pages %} utilizando Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". -Para personalizar aún más tu sitio, puedes usar Jekyll, un generador de sitio estático con soporte integrado para {% data variables.product.prodname_pages %}. For more information, see "[About {% data variables.product.prodname_pages %} and Jekyll](/articles/about-github-pages-and-jekyll)". +Para personalizar aún más tu sitio, puedes usar Jekyll, un generador de sitio estático con soporte integrado para {% data variables.product.prodname_pages %}. Para obtener más información, consulta la sección "[Acerca de {% data variables.product.prodname_pages %} y Jekyll](/articles/about-github-pages-and-jekyll)". ## Leer más diff --git a/translations/es-ES/content/pages/quickstart.md b/translations/es-ES/content/pages/quickstart.md index bcf0d37172..8577fc1f8e 100644 --- a/translations/es-ES/content/pages/quickstart.md +++ b/translations/es-ES/content/pages/quickstart.md @@ -30,7 +30,7 @@ Esta guía te mostrará cómo crear un sitio de usuario en `username.github.io`. 1. Debajo de "Compilación y despliegue", debajo de "Rama", utiliza los menús desplegables de **Ninguna** o de **Rama** y selecciona una fuente de publicación. ![Menú desplegable para seleccionar una fuente de publicación](/assets/images/help/pages/publishing-source-drop-down.png) -1. Optionally, open the `README.md` file of your repository. El archivo `README.md` es donde escribirás el contenido de tu sitio. Puedes editar el archivo o mantener el contenido predeterminado por el momento. +1. Opcionalmente, abre el archivo `README.md` de tu repositorio. El archivo `README.md` es donde escribirás el contenido de tu sitio. Puedes editar el archivo o mantener el contenido predeterminado por el momento. 1. Visita `username.github.io` para ver tu sitio web nuevo. **Nota:** Es posible que tome hasta 10 minutos la publicación de los cambios en tu sitio luego de que subes los cambios a {% data variables.product.product_name %}. ## Cambiar el título y la descripción diff --git a/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md index 4918308ca3..63282ba886 100644 --- a/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md +++ b/translations/es-ES/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -75,9 +75,9 @@ Puedes añadir `site.github` a una publicación o página para añadir cualquier {% data reusables.pages.add-jekyll-theme %} Para obtenerr más información, consulta "[Temas](https://jekyllrb.com/docs/themes/)" en la documentación de Jekyll. {% ifversion fpt or ghec %} -Puedes agregar un tema soportado a tu sitio en {% data variables.product.prodname_dotcom %}. For more information, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and [Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll"](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). +Puedes agregar un tema soportado a tu sitio en {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta la sección "[Temas compatibles](https://pages.github.com/themes/)" en el sitio de {% data variables.product.prodname_pages %} y [Agregar un tema a tu sitio de {% data variables.product.prodname_pages %} utilizando Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). -To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% ifversion fpt or ghec %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". +Para utilizar cualquier otro tema de código abierto de Jekyll hospedado en {% data variables.product.prodname_dotcom %}, puedes agregarlo manualmente.{% else %} Puedes agregar un tema a tu sitio manualmente.{% endif %} Para obtener más información, consulta la sección{% ifversion fpt or ghec %} [temas hospedados en {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) y {% else %} "[Temas compatibles](https://pages.github.com/themes/)" en el sitio de {% data variables.product.prodname_pages %} y{% endif %} "[Agergar un tema a tu sitio de {% data variables.product.prodname_pages %} utilziando Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". Puedes sobrescribir cualquiera de los valores por defecto de tu tema editando los archivos del tema. Para obtener más información, consulta la documentación de tu tema y "[Sobrescribir los valores predeterminados del tema](https://jekyllrb.com/docs/themes/#overriding-theme-defaults)" en la documentación de Jekyll. diff --git a/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md b/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md index 4ad2640d83..8ed6b48817 100644 --- a/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md +++ b/translations/es-ES/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md @@ -15,7 +15,7 @@ shortTitle: Configure commit merging {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -1. Under {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select **Allow merge commits**. This allows contributors to merge a pull request with a full history of commits.{% ifversion default-merge-squash-commit-message %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits-no-dropdown.png){% endif %} +1. Under {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select **Allow merge commits**. Esto permite que los contribuyentes fusionen una solicitud de cambios con un historial completo de confirmaciones.{% ifversion default-merge-squash-commit-message %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits-no-dropdown.png){% endif %} {% ifversion ghes < 3.6 %} ![allow_standard_merge_commits](/assets/images/help/repository/pr-merge-full-commits.png){% endif %} {% ifversion default-merge-squash-commit-message %} diff --git a/translations/es-ES/content/rest/actions/permissions.md b/translations/es-ES/content/rest/actions/permissions.md index 9b62bcbf84..80569d139e 100644 --- a/translations/es-ES/content/rest/actions/permissions.md +++ b/translations/es-ES/content/rest/actions/permissions.md @@ -2,7 +2,7 @@ title: GitHub Actions Permissions allowTitleToDifferFromFilename: true shortTitle: Permisos -intro: 'The {% data variables.product.prodname_actions %} Permissions API allows you to set permissions for what enterprises, organizations, and repositories are allowed to run {% data variables.product.prodname_actions %}, and what actions{% ifversion actions-workflow-policy %} and reusable workflows{% endif %} are allowed to run.' +intro: 'La API de permisos de {% data variables.product.prodname_actions %} te permite configurar los permisos para cuáles empresas, organizaciones y repositorios pueden ejecutar {% data variables.product.prodname_actions %} y qué acciones{% ifversion actions-workflow-policy %} y flujos de trabajo reutilizables{% endif %} pueden ejecutarse.' topics: - API versions: diff --git a/translations/es-ES/content/rest/actions/self-hosted-runners.md b/translations/es-ES/content/rest/actions/self-hosted-runners.md index c1564250a3..53b9bc0019 100644 --- a/translations/es-ES/content/rest/actions/self-hosted-runners.md +++ b/translations/es-ES/content/rest/actions/self-hosted-runners.md @@ -11,7 +11,7 @@ versions: --- -## About the Self-hosted runners API +## Acerca de la API de ejecutores auto-hospedados La API de ejecutores auto-hospedados te permite registrar, ver y borrar a los ejecutores auto-hospedados. {% data reusables.actions.about-self-hosted-runners %} Para obtener más información, consulta "[Alojar tus propios ejecutores](/actions/hosting-your-own-runners)". diff --git a/translations/es-ES/content/rest/actions/workflow-jobs.md b/translations/es-ES/content/rest/actions/workflow-jobs.md index 42ef772cb9..b7679ff11b 100644 --- a/translations/es-ES/content/rest/actions/workflow-jobs.md +++ b/translations/es-ES/content/rest/actions/workflow-jobs.md @@ -10,8 +10,8 @@ versions: ghec: '*' --- -## About the Workflow jobs API +## Acerca de la API de jobs de flujo de trabajo -The Workflow jobs API allows you to view logs and workflow jobs. {% data reusables.actions.about-workflow-jobs %} Para obtener más información, consulta la sección "[Sintaxis de flujode trabajo para GitHub Actions](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)". +La API de jobs de flujo de trabajo te permite ver bitácoras y jobs de flujo de trabajo. {% data reusables.actions.about-workflow-jobs %} Para obtener más información, consulta la sección "[Sintaxis de flujode trabajo para GitHub Actions](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions)". {% data reusables.actions.actions-authentication %} {% data reusables.actions.actions-app-actions-permissions-api %} diff --git a/translations/es-ES/content/rest/actions/workflow-runs.md b/translations/es-ES/content/rest/actions/workflow-runs.md index 1bd63a9ca9..77f3b2dcb7 100644 --- a/translations/es-ES/content/rest/actions/workflow-runs.md +++ b/translations/es-ES/content/rest/actions/workflow-runs.md @@ -10,7 +10,7 @@ versions: ghec: '*' --- -## About the Workflow runs API +## Acerca de la API de ejecuciones de flujo de trabajo La API de ejecuciones de flujo de trabajo te permite ver, volver a ejecutar, cancelar y ver las bitácoras de las ejecuciones de los flujos de trabajo. {% data reusables.actions.about-workflow-runs %} Para obtener más información, consulta la sección "[Administrar una ejecución de flujo de trabajo](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run)". diff --git a/translations/es-ES/content/rest/activity/feeds.md b/translations/es-ES/content/rest/activity/feeds.md index dc6ff2a4ff..b1e7c8de91 100644 --- a/translations/es-ES/content/rest/activity/feeds.md +++ b/translations/es-ES/content/rest/activity/feeds.md @@ -11,9 +11,9 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Feeds API +## Acerca de la API de fuentes -To see what feeds are available to you, use the [Get feeds](#get-feeds) operation. You can then get a feed by sending a request to one of the feed URLs. +Para ver qué fuentes están disponibles para ti, utiliza la operación [Obtener fuentes](#get-feeds). Entonces, podrás obtener una fuente enviando una solicitud a una de las URL de fuentes. ### Ejemplo de obtención de un canal de Atom diff --git a/translations/es-ES/content/rest/activity/notifications.md b/translations/es-ES/content/rest/activity/notifications.md index de88cb71bf..c9a8a99f45 100644 --- a/translations/es-ES/content/rest/activity/notifications.md +++ b/translations/es-ES/content/rest/activity/notifications.md @@ -11,7 +11,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Notifications API +## Acerca de la API de notificaciones La API de notificaciones te permite administrar las notificaciones de {% data variables.product.product_name %}. Para obtener más información sobre las notificaciones, consulta la sección "[Acerca de las notificaciones](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications)". diff --git a/translations/es-ES/content/rest/activity/watching.md b/translations/es-ES/content/rest/activity/watching.md index c3b3c5bece..63b7ee160f 100644 --- a/translations/es-ES/content/rest/activity/watching.md +++ b/translations/es-ES/content/rest/activity/watching.md @@ -11,6 +11,6 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Watching API +## Acerca de la API de observar -La API de observados permite que los usuarios se suscriban a las notificaciones de la actividad de un repositorio. To bookmark a repository instead, see "[Starring](/rest/reference/activity#starring)." +La API de observados permite que los usuarios se suscriban a las notificaciones de la actividad de un repositorio. Para marcar un repositorio como favorito, en su lugar, utiliza "[Estrellas](/rest/reference/activity#starring)". diff --git a/translations/es-ES/content/rest/apps/apps.md b/translations/es-ES/content/rest/apps/apps.md index 40ee60bdb7..0e4b884b5b 100644 --- a/translations/es-ES/content/rest/apps/apps.md +++ b/translations/es-ES/content/rest/apps/apps.md @@ -1,7 +1,7 @@ --- title: GitHub Apps allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_github_apps %} API enables you to retrieve information about {% data variables.product.prodname_github_apps %}.' +intro: 'La API de {% data variables.product.prodname_github_apps %} te permite recuperar información sobre las {% data variables.product.prodname_github_apps %}.' topics: - API miniTocMaxHeadingLevel: 3 @@ -12,7 +12,7 @@ versions: ghec: '*' --- -## About the {% data variables.product.prodname_github_apps %} API +## Acerca de la API de {% data variables.product.prodname_github_apps %} {% data reusables.apps.general-apps-restrictions %} @@ -20,6 +20,6 @@ Esta página lista las terminales a las que puedes acceder mientras te autentica Cuando estás autenticado como una GitHub App, la API de GitHub Apps te habilita para obtener información de alto nivel sobre una GitHub App así como para obtener información específica sobre las instalaciones de éstas. -You can access REST API endpoints while authenticated as a GitHub App. These endpoints have text that says "Works with GitHub Apps." También puedes acceder a estas terminales mientras estás autenticado como un usuario. +Puedes acceder a las terminales de la API de REST mientras estás autenticado como una GitHub App. Estas terminales tienen un texto que dice "Funciona con GitHub Apps". También puedes acceder a estas terminales mientras estás autenticado como un usuario. -A subset of REST API endpoints requires authenticating as a GitHub App installation. Consulta las [Instalaciones](/rest/reference/apps#installations) para obtener una lista de estas terminales. +Un subconjunto de terminales de la API de REST requiere autenticarse como una instalación de GitHub App. Consulta las [Instalaciones](/rest/reference/apps#installations) para obtener una lista de estas terminales. diff --git a/translations/es-ES/content/rest/apps/installations.md b/translations/es-ES/content/rest/apps/installations.md index 8b84958f1a..704bf7eeaf 100644 --- a/translations/es-ES/content/rest/apps/installations.md +++ b/translations/es-ES/content/rest/apps/installations.md @@ -17,4 +17,4 @@ versions: Una _instalación_ se refiere a cualquier cuenta de usuario o de organización que tenga la app instalada. Para obtener más información sobre cómo autenticarte como una instalación y limitar el acceso a repositorios específicos, consulta la sección "[Autenticarte como una instalación](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)". -Para listar las instalaciones de una GitHub App para una organización, consulta la sección "[Listar instalaciones de la app para una organización](/rest/reference/orgs#list-app-installations-for-an-organization)". +Para listar las instalaciones de una GitHub App para una organización, consulta la sección "[Listar instalaciones de la app para una organización](/rest/orgs/orgs#list-app-installations-for-an-organization)". diff --git a/translations/es-ES/content/rest/apps/oauth-applications.md b/translations/es-ES/content/rest/apps/oauth-applications.md index 406e67d4ce..a6b28a1c26 100644 --- a/translations/es-ES/content/rest/apps/oauth-applications.md +++ b/translations/es-ES/content/rest/apps/oauth-applications.md @@ -12,6 +12,6 @@ versions: ghec: '*' --- -## About the {% data variables.product.prodname_oauth_app %} API +## Acerca de la API de {% data variables.product.prodname_oauth_app %} -You can use this API to manage the OAuth tokens an {% data variables.product.prodname_oauth_app %} uses to access people's accounts on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. +Puedes utilizar esta API para administrar los tokens de OAuth que utiliza una {% data variables.product.prodname_oauth_app %} para acceder a las cuentas de las personas en {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. diff --git a/translations/es-ES/content/rest/apps/webhooks.md b/translations/es-ES/content/rest/apps/webhooks.md index 6967cc2fc8..b74e6abe52 100644 --- a/translations/es-ES/content/rest/apps/webhooks.md +++ b/translations/es-ES/content/rest/apps/webhooks.md @@ -1,5 +1,5 @@ --- -title: GitHub App webhooks +title: Webhooks de las GitHub Apps allowTitleToDifferFromFilename: true shortTitle: Webhooks intro: '' @@ -13,6 +13,6 @@ versions: ghec: '*' --- -## About the {% data variables.product.prodname_github_app %} webhooks API +## Acerca de la API de webhooks de {% data variables.product.prodname_github_app %} Un webhook de {% data variables.product.prodname_github_app %} te permite recibir cargas útiles de `POST` por HTTP cada que sucedan ciertos eventos para una app. {% data reusables.webhooks.webhooks-rest-api-links %} diff --git a/translations/es-ES/content/rest/branches/branches.md b/translations/es-ES/content/rest/branches/branches.md index 622c8440a3..073d1e4b05 100644 --- a/translations/es-ES/content/rest/branches/branches.md +++ b/translations/es-ES/content/rest/branches/branches.md @@ -1,6 +1,6 @@ --- title: Ramas -intro: The Branches API allows you to modify branches and their protection settings. +intro: La API de ramas te permite modificar ramas y sus ajustes de protección. versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/code-scanning.md b/translations/es-ES/content/rest/code-scanning.md index 5894ec505c..8d7a3bf1f8 100644 --- a/translations/es-ES/content/rest/code-scanning.md +++ b/translations/es-ES/content/rest/code-scanning.md @@ -1,5 +1,5 @@ --- -title: Code Scanning +title: Escaneo de código intro: 'La API del {% data variables.product.prodname_code_scanning %} te permite recuperar y actualizar las alertas del {% data variables.product.prodname_code_scanning %} desde un repositorio.' versions: fpt: '*' @@ -17,7 +17,7 @@ redirect_from: {% data reusables.code-scanning.beta %} -## About the Code scanning API +## Acerca de la API de escaneo de código La API del {% data variables.product.prodname_code_scanning %} te permite recuperar y actualizar las alertas del {% data variables.product.prodname_code_scanning %} desde un repositorio. Puedes utilizar las terminales para crear reportes automatizados para las alertas del {% data variables.product.prodname_code_scanning %} en una organización o cargar resutlados de análisis que se hayan generado utilizando con herramientas fuera de línea del {% data variables.product.prodname_code_scanning %}. Para obtener más información, consulta la sección "[Encontrar vulnerabilidades de seguridad y errores en tu código](/github/finding-security-vulnerabilities-and-errors-in-your-code)". diff --git a/translations/es-ES/content/rest/codespaces/machines.md b/translations/es-ES/content/rest/codespaces/machines.md index d784ea4430..8606f3b923 100644 --- a/translations/es-ES/content/rest/codespaces/machines.md +++ b/translations/es-ES/content/rest/codespaces/machines.md @@ -1,5 +1,5 @@ --- -title: Codespaces machines +title: Máquinas de codespaces allowTitleToDifferFromFilename: true shortTitle: Máquinas intro: 'La API de máquinas de codespaces permite que un usuario determine qué tipos de máquina están disponibles para crear un codespace, ya sea en un repositorio específico o como un usuario autenticado.' @@ -11,7 +11,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Codespaces machines API +## Acerca de la API de máquinas de Codespaces La API de máquinas de codespaces permite que un usuario determine qué tipos de máquina están disponibles para crear un codespace, ya sea en un repositorio específico o como un usuario autenticado. Para obtener más información, consulta la sección "[Acerca de los tipos de máquina](/codespaces/developing-in-codespaces/changing-the-machine-type-for-your-codespace#about-machine-types)". diff --git a/translations/es-ES/content/rest/collaborators/collaborators.md b/translations/es-ES/content/rest/collaborators/collaborators.md index 8d7ab7ceea..c8081f76c0 100644 --- a/translations/es-ES/content/rest/collaborators/collaborators.md +++ b/translations/es-ES/content/rest/collaborators/collaborators.md @@ -1,6 +1,6 @@ --- title: Colaboradores -intro: The Collaborators API allows you manage collaborators for a repository. +intro: La API de colaboradores te permite administrar colaboradores para un repositorio. versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/collaborators/invitations.md b/translations/es-ES/content/rest/collaborators/invitations.md index c31fc85b4b..a2ed44ed21 100644 --- a/translations/es-ES/content/rest/collaborators/invitations.md +++ b/translations/es-ES/content/rest/collaborators/invitations.md @@ -1,5 +1,5 @@ --- -title: Repository invitations +title: Invitaciones al repositorio allowTitleToDifferFromFilename: true shortTitle: Invitaciones intro: La API de invitaciones al repositorio te permite ver y administrar las invitaciones para colaborar en un repositorio. @@ -13,10 +13,10 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Repository invitations API +## Acerca de la API de invitaciones al repositorio La API de invitaciones al repositorio te permite ver y administrar las invitaciones para colaborar en un repositorio. Los usuarios invitados (o los servicios externos en nombre de estos) pueden elegir aceptar o rechazar la invitación. -To add a user as a collaborator, use the Collaborators API instead. Para obtener más información, consulta la sección "[Agregar un colaborador del repositorio](/rest/collaborators/collaborators#add-a-repository-collaborator)". +Para agregar a un usuario como colaborador, utiliza la API de colaboradores en su lugar. Para obtener más información, consulta la sección "[Agregar un colaborador del repositorio](/rest/collaborators/collaborators#add-a-repository-collaborator)". Toma en cuenta que el [alcance de OAuth](/developers/apps/scopes-for-oauth-apps) `repo:invite` otorga un acceso dirigido a las invitaciones **sin** otorgar también el acceso al código del repositorio, mientras que el alcance `repo` otorga permisos para el código así como para las invitaciones. diff --git a/translations/es-ES/content/rest/commits/comments.md b/translations/es-ES/content/rest/commits/comments.md index 26d7d26c8f..ec773b1c7a 100644 --- a/translations/es-ES/content/rest/commits/comments.md +++ b/translations/es-ES/content/rest/commits/comments.md @@ -12,7 +12,7 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the commit comments API +## Acerca de la API de comentarios de confirmaciones La API de comentarios de confirmaciones te permite crear y editar los comentarios que se relacionan con confirmaciones específicas. diff --git a/translations/es-ES/content/rest/commits/commits.md b/translations/es-ES/content/rest/commits/commits.md index fc29bbf412..4406a46536 100644 --- a/translations/es-ES/content/rest/commits/commits.md +++ b/translations/es-ES/content/rest/commits/commits.md @@ -1,6 +1,6 @@ --- title: Confirmaciones -intro: 'The Commits API allows you to list, view, and compare commits in a repository. También puedes interactuar con los comentarios y estados de las confirmaciones.' +intro: 'La API de confirmaciones te permite listar, ver y comparar las confirmaciones de un repositorio. También puedes interactuar con los comentarios y estados de las confirmaciones.' versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/commits/statuses.md b/translations/es-ES/content/rest/commits/statuses.md index ba2ecf3b71..02177927a5 100644 --- a/translations/es-ES/content/rest/commits/statuses.md +++ b/translations/es-ES/content/rest/commits/statuses.md @@ -1,6 +1,6 @@ --- title: Estados de confirmación -intro: 'The Commit status API allows external services to mark commits with a status, which is then reflected in pull requests involving those commits.' +intro: 'La API de estados de las confirmaciones permite que los servicios externos marquen las confirmaciones con estados, lo que se refleja posteriormente en las solicitudes de cambio que involucran dichas confirmaciones.' versions: fpt: '*' ghes: '*' @@ -12,13 +12,13 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the Commit statuses API +## Acerca de la API de estados de las confirmaciones -The Commit status API allows external services to mark commits with an `error`, `failure`, `pending`, or `success` state, which is then reflected in pull requests involving those commits. Statuses can also include an optional `description` and `target_url`, and we highly recommend providing them as they make statuses much more useful in the GitHub UI. +La API de estados de confirmaciones permite que los servicios externos marquen las confirmaciones con un estado de `error`, `failure`, `pending` o `success`, lo que se refleja entonces en las solicitudes de cambios que involucran a dichas confirmaciones. Los estados también pueden incluir una `description` y `target_url` opcionales y recomendamos ampliamente proporcionarlas, ya que hacen que los estados sean mucho más útiles en la IU de GitHub. -As an example, one common use is for continuous integration services to mark commits as passing or failing builds using status. The `target_url` would be the full URL to the build output, and the `description` would be the high level summary of what happened with the build. +Como ejemplo, un uso común es que los servicios de integración continua marquen las confirmaciones como compilaciones que pasan o fallan utilizando los estados. La `target_url` será la URL completa para la salida de la compilación y la `description` será el resumen de alto nivel de lo que pasó con la compilación. -Los estados pueden incluir un `context` para indicar qué servicio está proporcionando ese estado. Por ejemplo, puedes hacer que tu servicio de integración continua cargue estados con un contexto de `ci`, y que una herramienta de auditoria de seguridad cargue estados con un contexto de `security`. You can then use the [Get the combined status for a specific reference](/rest/reference/commits#get-the-combined-status-for-a-specific-reference) to retrieve the whole status for a commit. +Los estados pueden incluir un `context` para indicar qué servicio está proporcionando ese estado. Por ejemplo, puedes hacer que tu servicio de integración continua cargue estados con un contexto de `ci`, y que una herramienta de auditoria de seguridad cargue estados con un contexto de `security`. Puedes utilizar entonces la función de [Obtener el estado combinado para una referencia específica](/rest/reference/commits#get-the-combined-status-for-a-specific-reference) para recuperar todo el estado de una confirmación. Toma en cuenta que el [alcance de OAuth](/developers/apps/scopes-for-oauth-apps) de `repo:status` otorga acceso dirigido a los estados **sin** otorgar también el acceso al código del repositorio, mientras que el alcance `repo` otorga permisos para el código y también para los estados. diff --git a/translations/es-ES/content/rest/dependabot/secrets.md b/translations/es-ES/content/rest/dependabot/secrets.md index ce89fb3d75..cb324aeb93 100644 --- a/translations/es-ES/content/rest/dependabot/secrets.md +++ b/translations/es-ES/content/rest/dependabot/secrets.md @@ -1,7 +1,7 @@ --- -title: Dependabot secrets +title: Secretos del Dependabot shortTitle: Secretos -intro: 'With the {% data variables.product.prodname_dependabot %} secrets API, you can manage and control {% data variables.product.prodname_dependabot %} secrets for an organization or repository.' +intro: 'Con la API de secretos del {% data variables.product.prodname_dependabot %}, puedes administrar y controlar los secretos del {% data variables.product.prodname_dependabot %} de una organización o repositorio.' topics: - API versions: @@ -11,8 +11,8 @@ versions: allowTitleToDifferFromFilename: true --- -## About the {% data variables.product.prodname_dependabot %} secrets API +## Acerca de la API de secretos del {% data variables.product.prodname_dependabot %} -The {% data variables.product.prodname_dependabot %} secrets API lets you create, update, delete, and retrieve information about encrypted secrets. {% data reusables.actions.about-secrets %} Para obtener más información, consulta "[Administrar los secretos cifrados para el Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)". +La API de secretos del {% data variables.product.prodname_dependabot %} te permite crear, actualizar, borrar y recuperar información sobre los secretos cifrados. {% data reusables.actions.about-secrets %} Para obtener más información, consulta "[Administrar los secretos cifrados para el Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)". -{% data reusables.actions.actions-authentication %} {% data variables.product.prodname_github_apps %} must have the `dependabot_secrets` permission to use this API. Los usuarios autenticados deben tener acceso de colaborador en el repositorio para crear, actualizar o leer los secretos. +La {% data reusables.actions.actions-authentication %} en las {% data variables.product.prodname_github_apps %} debe contar con el permiso de `dependabot_secrets` para utilizar esta API. Los usuarios autenticados deben tener acceso de colaborador en el repositorio para crear, actualizar o leer los secretos. diff --git a/translations/es-ES/content/rest/dependency-graph/dependency-review.md b/translations/es-ES/content/rest/dependency-graph/dependency-review.md index c9602dc122..be53ce4da1 100644 --- a/translations/es-ES/content/rest/dependency-graph/dependency-review.md +++ b/translations/es-ES/content/rest/dependency-graph/dependency-review.md @@ -1,6 +1,6 @@ --- title: Revisión de dependencias -intro: 'The Dependency review API allows you to understand dependency changes, and the security impact of these changes, before you add them to your environment.' +intro: La API de revisión de dependencias te permite entender los cambios a las dependencias y el impacto de seguridad de dichos cambios antes de que los agregues a tu ambiente. versions: fpt: '*' ghes: '>=3.6' @@ -12,8 +12,8 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the Dependency review API +## Acerca de la API de revisión de dependencias {% data reusables.dependency-review.dependency-review-api-beta-note %} -La API de revisión de dependencias te permite entender los cambios a las dependencias y el impacto de seguridad de estos antes de que los agregues a tu ambiente. You can view the diff of dependencies between two commits of a repository, including vulnerability data for any version updates with known vulnerabilities. Para obtener más información sobre la revisión de dependencias, consulta la sección "[Acerca de la revisión de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)". +La API de revisión de dependencias te permite entender los cambios a las dependencias y el impacto de seguridad de estos antes de que los agregues a tu ambiente. Puedes ver el diff de las dependencias entre dos confirmaciones de un repositorio, incluyendo los datos de vulnerabilidades para cualquier actualización de versión con las vulnerabilidades conocidas. Para obtener más información sobre la revisión de dependencias, consulta la sección "[Acerca de la revisión de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)". diff --git a/translations/es-ES/content/rest/dependency-graph/index.md b/translations/es-ES/content/rest/dependency-graph/index.md index 8def7f4624..53e715e1b8 100644 --- a/translations/es-ES/content/rest/dependency-graph/index.md +++ b/translations/es-ES/content/rest/dependency-graph/index.md @@ -1,6 +1,6 @@ --- title: Gráfica de dependencias -intro: 'With the Dependency Graph API, you can view dependency changes and their security impact on your repository.' +intro: 'Con la API de gráfica de dependencias, puedes ver los cambios a las dependencias y su impacto de seguridad en tu repositorio.' versions: fpt: '*' ghes: '>=3.6' diff --git a/translations/es-ES/content/rest/deployments/deployments.md b/translations/es-ES/content/rest/deployments/deployments.md index 6e83072a88..531e552807 100644 --- a/translations/es-ES/content/rest/deployments/deployments.md +++ b/translations/es-ES/content/rest/deployments/deployments.md @@ -19,7 +19,7 @@ Los estados de despliegue permiten que los servicios externos marquen estos desp Los estados de despliegue también incluyen una `description` y una `log_url` opcionales, las cuales se recomiendan ampliamente, ya que hacen que los estados de despliegue sean más útiles. La `log_url` es la URL completa para la salida del despliegue, y la `description` es el resumen de alto nivel de lo que pasó con este despliegue. -GitHub envía eventos de `deployment` y `deployment_status` cuando se crean despliegues y estados de despliegue nuevos. Estos eventos permiten que las integraciones de terceros reciban respuesta de las solicitudes de despliegue y actualizan el estado de un despliegue conforme éste progrese. +GitHub envía eventos de `deployment` y `deployment_status` cuando se crean despliegues y estados de despliegue nuevos. These events allow third-party integrations to receive and respond to deployment requests, and update the status of a deployment as progress is made. Debajo encontrarás un diagrama de secuencia simple que explica cómo funcionarían estas interacciones. diff --git a/translations/es-ES/content/rest/deployments/environments.md b/translations/es-ES/content/rest/deployments/environments.md index 327e07682e..1fa057748e 100644 --- a/translations/es-ES/content/rest/deployments/environments.md +++ b/translations/es-ES/content/rest/deployments/environments.md @@ -1,5 +1,5 @@ --- -title: Deployment environments +title: Ambientes de despliegue allowTitleToDifferFromFilename: true shortTitle: Ambientes intro: 'The Deployment environments API allows you to create, configure, and delete deployment environments.' diff --git a/translations/es-ES/content/rest/deployments/index.md b/translations/es-ES/content/rest/deployments/index.md index 3d0ae0be29..a42a60f38c 100644 --- a/translations/es-ES/content/rest/deployments/index.md +++ b/translations/es-ES/content/rest/deployments/index.md @@ -1,6 +1,6 @@ --- title: Implementaciones -intro: 'The deployments API allows you to create and delete deploy keys, deployments, and deployment environments.' +intro: 'La API de despliegues te permite crear y borrar llaves de despliegue, despliegues y ambientes de despliegue.' allowTitleToDifferFromFilename: true versions: fpt: '*' diff --git a/translations/es-ES/content/rest/enterprise-admin/announcement.md b/translations/es-ES/content/rest/enterprise-admin/announcement.md index 1ef49c0939..b0c0da8f8f 100644 --- a/translations/es-ES/content/rest/enterprise-admin/announcement.md +++ b/translations/es-ES/content/rest/enterprise-admin/announcement.md @@ -1,6 +1,6 @@ --- title: Anuncio -intro: The Announcement API allows you to manage the global announcement banner in your enterprise. +intro: La API de anuncios te permite administrar el letrero de anuncios globales en tu empresa. versions: ghes: '*' ghae: '*' diff --git a/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md b/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md index 5630a14282..ad853ad3f9 100644 --- a/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md +++ b/translations/es-ES/content/rest/enterprise-admin/org-pre-receive-hooks.md @@ -1,6 +1,6 @@ --- -title: Organization Pre-receive Hooks -intro: The Organization Pre-receive Hooks API allows you to view and modify enforcement of the pre-receive hooks that are available to an organization. +title: Ganchos de pre-recepción de organización +intro: La API de ganchos de pre-recepción de organización te permite ver y modificar el requisito de tener ganchos de pre-recepción que están disponibles para una organización. versions: ghes: '*' topics: @@ -20,4 +20,4 @@ allowTitleToDifferFromFilename: true Los valores posibles para *enforcement* son `enabled`, `disabled` y `testing`. El valor `disabled` indica que el gancho de pre-recepción no se ejecutará. El valor `enabled` indica que se ejecutará y rechazará cualquier carga que resulte en un estado diferente a zero. El valor `testing` indica que el script va a ejecutarse pero no va a causar que se rechace ninguna carga. -`configuration_url` may be a link to this endpoint or this hook's global configuration. Solo los administradores de sistema pueden acceder a la configuración global. +`configuration_url` podría ser un enlace a esta terminal o a la configuración global de este gancho. Solo los administradores de sistema pueden acceder a la configuración global. diff --git a/translations/es-ES/content/rest/enterprise-admin/pre-receive-environments.md b/translations/es-ES/content/rest/enterprise-admin/pre-receive-environments.md index 3adfadbdd5..295b22e3bd 100644 --- a/translations/es-ES/content/rest/enterprise-admin/pre-receive-environments.md +++ b/translations/es-ES/content/rest/enterprise-admin/pre-receive-environments.md @@ -1,5 +1,5 @@ --- -title: Pre-receive Environments +title: Ambientes de pre-recepción intro: 'La API de Ambientes de Pre-recepción te permite crear, listar, actualizar y borrar ambientes para los ganchos de pre-recepción.' versions: ghes: '*' diff --git a/translations/es-ES/content/rest/enterprise-admin/pre-receive-hooks.md b/translations/es-ES/content/rest/enterprise-admin/pre-receive-hooks.md index 32ec6d3ef6..644022b2bb 100644 --- a/translations/es-ES/content/rest/enterprise-admin/pre-receive-hooks.md +++ b/translations/es-ES/content/rest/enterprise-admin/pre-receive-hooks.md @@ -1,5 +1,5 @@ --- -title: Pre-receive Hooks +title: Ganchos de pre-recepción intro: 'La API de Ganchos Pre-recepción te permite crear, listar, actualizar y borrar los ganchos de pre-recepción.' versions: ghes: '*' diff --git a/translations/es-ES/content/rest/gists/gists.md b/translations/es-ES/content/rest/gists/gists.md index 37dd44d715..aab584797f 100644 --- a/translations/es-ES/content/rest/gists/gists.md +++ b/translations/es-ES/content/rest/gists/gists.md @@ -1,6 +1,6 @@ --- title: Gists -intro: 'The Gists API enables the authorized user to list, create, update and delete the public gists on GitHub.' +intro: 'La API de Gists habilita al usuario habilitado para listar, crear, actualizar y borrar los gists públicos en GitHub.' versions: fpt: '*' ghes: '*' @@ -11,9 +11,9 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Gists API +## Acerca de la API de Gists -The Gist API lets you view and modify gists. For more information about gists, see "[Editing and sharing content with gists](/get-started/writing-on-github/editing-and-sharing-content-with-gists)." +La API de Gists te permite ver y modificar los gists. Para obtener más información sobre los gists, consulta la sección "[Editar y compartir el contenido con los gists](/get-started/writing-on-github/editing-and-sharing-content-with-gists)". ### Autenticación diff --git a/translations/es-ES/content/rest/git/blobs.md b/translations/es-ES/content/rest/git/blobs.md index d71ecb60fa..66777ae4f4 100644 --- a/translations/es-ES/content/rest/git/blobs.md +++ b/translations/es-ES/content/rest/git/blobs.md @@ -1,8 +1,8 @@ --- -title: Git blobs +title: Blobs de Git shortTitle: Blobs allowTitleToDifferFromFilename: true -intro: 'The Git blob API lets you create and get a Git blob (binary large object), the object type used to store the contents of each file in a repository.' +intro: 'La API de blobs de Git te permite crear y obtener un blob de Git (BLOB: Objeto binario grande, por sus siglas en inglés), el cual es el tipo de objeto que se utiliza para almacenar el contenido de cada archivo en un repositorio.' versions: fpt: '*' ghes: '*' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Git blob API +## Acerca de la API de blobs de Git Un blob (objeto binario grande, por sus siglas en inglés) de Git es el tipo de objeto que se utiliza para almacenar el contenido de cada archivo en un repositorio. El hash SHA-1 del archivo se calcula y almacena en el objeto del blob. Estas terminales te permiten leer y escribir [objetos de blob](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects) en tu base de datos de Git en {% data variables.product.product_name %}. Los blobs aprovechan [estos tipos de medios personalizados](#custom-media-types-for-blobs). Puedes leer más acerca del uso de tipos de medios en la API [aquí](/rest/overview/media-types). diff --git a/translations/es-ES/content/rest/git/tags.md b/translations/es-ES/content/rest/git/tags.md index 23b43248c7..ed8159a146 100644 --- a/translations/es-ES/content/rest/git/tags.md +++ b/translations/es-ES/content/rest/git/tags.md @@ -1,5 +1,5 @@ --- -title: Git tags +title: Etiquetas de Git shortTitle: Etiquetas allowTitleToDifferFromFilename: true intro: 'The Git tags API lets you read and write tag objects to your Git database on {% data variables.product.product_name %}.' diff --git a/translations/es-ES/content/rest/gitignore.md b/translations/es-ES/content/rest/gitignore.md index b8eeb69e0f..1932f57825 100644 --- a/translations/es-ES/content/rest/gitignore.md +++ b/translations/es-ES/content/rest/gitignore.md @@ -13,7 +13,7 @@ redirect_from: - /rest/reference/gitignore --- -## About the Gitignore API +## Acerca de la API de Gitignore Cuando creas un repositorio nuevo en {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} a través de la API, puedes especificar una [plantilla de.gitignore](/github/getting-started-with-github/ignoring-files) para aplicarla al repositorio cuando lo crees. La API de plantillas de .gitignore lista y recupera plantillas del [repositorio de .gitignore](https://github.com/github/gitignore) de {% data variables.product.product_name %}. diff --git a/translations/es-ES/content/rest/guides/getting-started-with-the-checks-api.md b/translations/es-ES/content/rest/guides/getting-started-with-the-checks-api.md index ae540963c2..cd65214c85 100644 --- a/translations/es-ES/content/rest/guides/getting-started-with-the-checks-api.md +++ b/translations/es-ES/content/rest/guides/getting-started-with-the-checks-api.md @@ -41,7 +41,7 @@ Una ejecución de verificación es una prueba individual que forma parte de una ![Flujo de trabajo de las ejecuciones de verificación](/assets/images/check_runs.png) -Si una ejecución de verificación permanece en un estado incompleto por más de 14 días, entonces la `conclusion` de ésta se convierte en `stale` y aparece en {% data variables.product.prodname_dotcom %} como quedada con el {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Solo {% data variables.product.prodname_dotcom %} puede marcar las ejecuciones de verificación como `stale`. Para obtener más información acerca de las conclusiones posibles para una ejecución de verificación, consulta el [parámetro de `conclusion`](/rest/reference/checks#create-a-check-run--parameters). +Si una ejecución de verificación permanece en un estado incompleto por más de 14 días, entonces la `conclusion` de ésta se convierte en `stale` y aparece en {% data variables.product.prodname_dotcom %} como desactualizada con el {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Solo {% data variables.product.prodname_dotcom %} puede marcar las ejecuciones de verificación como `stale`. Para obtener más información acerca de las conclusiones posibles para una ejecución de verificación, consulta el [parámetro de `conclusion`](/rest/reference/checks#create-a-check-run--parameters). Puedes crear la ejecución de verificación tan pronto como recibas el webhook de [`check_suite`](/webhooks/event-payloads/#check_suite), aún si ésta todavía no se completa. Puedes actualizar el `status` de la ejecución de verificación ya que se completa con los valores `queued`, `in_progress`, o `completed`, y puedes actualizar la `output` conforme vayan estando disponibles los detalles adicionales. Una ejecución de verificación puede contener estampas de tiempo, un enlace para encontrar más detalles en tu sitio externo, anotaciones detalladas para líneas de código específcas, e información acerca del análisis que se llevó a cabo. diff --git a/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md b/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md index 3453491ad2..1a65d14e32 100644 --- a/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/es-ES/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: Iniciar con la API de REST -intro: 'Aprende las bases para utilizar la API de REST, comenzando con la autenticación y algunos ejemplos de las terminales.' -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Aprende cómo utilizar la API de REST de {% data variables.product.prodname_dotcom %}.' versions: fpt: '*' ghes: '*' @@ -11,418 +8,754 @@ versions: ghec: '*' topics: - API -shortTitle: Introducción - API de REST +shortTitle: Utilizar la API +miniTocMaxHeadingLevel: 3 --- +## Acerca de la API de REST de {% data variables.product.prodname_dotcom %} -Vamos a explicar los conceptos centrales de la API mientras incluímos algunos casos de uso cotidiano. +Este artículo describe cómo utilizar la API de REST de {% data variables.product.prodname_dotcom %} usando el {% data variables.product.prodname_cli %}, JavaScript o cURL. Para encontrar una guía de inicio rápido, consulta la "[Guía de inicio rápido para la API de REST de GitHub](/rest/quickstart)". -{% data reusables.rest-api.dotcom-only-guide-note %} +Cuando haces una solicitud a la API de REST, especificarás un método HTTP y una ruta. Adicionalmente, también podrías especificar encabezados de solicitud y parámetros de ruta, consulta o cuerpo. La API devolverá el código de estado de respuesta, los encabezados de respuesta y, potencialmente, un cuerpo de respuesta. -## Resumen +La documentación de referencia de la API de REST describe el método HTTP, ruta y parámetros para cada operación. También muestra solicitudes y respuestas de ejemplo para cada operación. Para obtener más información, consulta la [documentación de referencia de REST](/rest). -La mayoría de las aplicaciones utilizan una [biblioteca de seguridad][wrappers] en el lenguaje de programación que escojas, pero es importante que te familiarices con los métodos HTTP básicos de la API primero. +## Hacer una solicitud -No hay una forma más fácil de hacerlo que a través de [cURL][curl].{% ifversion fpt or ghec %} Si estás utilizando un cliente alternativo, tioma en cuenta que necesitarás enviar un [encabezado de Agente de Usuario](/rest/overview/resources-in-the-rest-api#user-agent-required) válido en tu solicitud.{% endif %} +Para hacer una solicitud, primero encuentra el método HTTP y la ruta para la operación que quieres utilizar. Por ejemplo, la operación "Get Octocat" utiliza el método `GET` y la ruta `/octocat`. Para encontrar la documentación completa para esta operación, consulta "[Get Octocat](/rest/meta#get-octocat)". -### Hola Mundo +{% cli %} -Comencemos por probar nuestra configuración. Abre una instancia de la línea de comandos e ingresa el siguiente comando: +{% note %} + +**Nota**: Debes instalar el {% data variables.product.prodname_cli %} para poder utilizar los comandos en los ejemplos del {% data variables.product.prodname_cli %}. Para encontrar instrucciones de instalación, consulta el [repositorio de {% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). + +{% endnote %} + +Si aún no estás autenticado en el {% data variables.product.prodname_cli %}, debes utilizar el subcomando `gh auth login` para autenticarte antes de hacer hacer cualquier tipo de solicitud. Para obtener más información, consulta la sección "[Autenticarse](#authenticating)". + +Para hacer una solicitud utilizando el {% data variables.product.prodname_cli %}, utiliza el subcomando `api` junto con la ruta. Utiliza el marcador `--method` o `-X` para especificar el método. ```shell -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -La respuesta será una selección aleatoria de nuestra filosofía de diseño. +{% endcli %} -Posteriormente, vamos a hacer `GET` para el [perfil de GitHub][users api] de [Chris Wanstrath][defunkt github]: +{% javascript %} + +{% note %} + +**Nota**: Debes instalar e importar `octokit` para utilizar la librería Octokit.js que se utiliza en los ejemplos de JavaScript. Para obtener más información, consulta [el README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +Para hacer una solicitud utilizando JavaScript, puedes usar Octokit.js. Para obtener más información, consulta [el README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +Primero, crea una instancia de `Octokit`.{% ifversion ghes or ghae %} Ajusta la URL base en `{% data variables.product.api_url_code %}`. Reemplaza a `[hostname]` con el nombre de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +Luego, utiliza el método `request` para hacer solilcitudes. Pasa el método HTTP y la ruta como el primer argumento. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Antepón la URL base para la API de REST de {% data variables.product.prodname_dotcom %}, `{% data variables.product.api_url_code %}`, a la ruta para obtener la URL completa: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Reemplaza a `[hostname]` con el nombre de {% data variables.product.product_location %}.{% endif %} + +Utiliza el comando `curl` en tu línea de comando. Utiliza el marcador `--request` o `-X` seguido del método HTTP. Utiliza el marcador `--url` seguido de la URL completa. ```shell -# GET /users/defunkt -$ curl https://api.github.com/users/defunkt - -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> ... -> } +curl --request GET \ +--url "https://api.github.com/octocat" ``` -Mmmm, sabe a [JSON][json]. Vamos a agregar el marcador `-i` para que incluya los encabezados: +{% note %} + +**Nota**: Si obtienes un mensaje similar a "command not found: curl", puede que necesites descargar e instalar cURL. Para obtener más información, consulta [la página de descarga del proyecto cURL](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Sigue leyendo para aprender cómo autenticarte, enviar parámetros y utilizar la respuesta. + +## Autenticarse + +Muchas operaciones necesitan autenticación o devuelven información adicional si estás autenticado. Adicionalmente, puedes hacer más solicitudes por hora cuando estás autenticado.{% cli %} Aunque se puede acceder a algunas operaciones de la API de REST sin autenticación, debes autenticar en el {% data variables.product.prodname_cli %} para utilizar el subcomando `api`.{% endcli %} + +### Acerca de los tokens + +Puedes autenticar tu solicitud agregando un token. + +Si quieres utilizar la API de REST de {% data variables.product.company_short %} para uso personal, puedes crear un token de acceso personal (PAT). Las operaciones de la API de REST que se utilizan en este artículo requieren del alcance `repo` para los tokens de acceso personal. Otras operaciones podrían requerir alcances diferentes. Para obtener más información acerca de cómo crear un token de acceso personal, consulta la sección "[Crear un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". + +Si quieres utilizar la API en nombre de una organización o de otro usuario, {% data variables.product.company_short %} recomienda que utilices una {% data variables.product.prodname_github_app %}. Si una operación está disponible para las {% data variables.product.prodname_github_apps %}, la documentación de referencia de REST para dicha operación dirá "Works with GitHub Apps". Las operaciones de la API de REST que se utilizan en este artículo requieren permisos de lectura y escritura de `issues` para las {% data variables.product.prodname_github_apps %}. Otras operaciones podrían requerir permisos diferentes. Para obtener más información, consulta las secciones "[Crear una GitHub App](/developers/apps/building-github-apps/creating-a-github-app)", "[Autenticarte con las GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps)" e "[Identificar y autorizar usuarios para las GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)". + +Si quieres utilizar la API en un flujo de trabajo de {% data variables.product.prodname_actions %}, {% data variables.product.company_short %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Puedes otorgar permisos al `GITHUB_TOKEN` con la clave `permissions`. Para obtener más información, consulta la sección "[Autenticación automática de tokens](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)". + +### Ejemplo de autenticación + +{% cli %} + +Con el {% data variables.product.prodname_cli %}, no necesitas crear un token de acceso anticipadamente. Utiliza el subcomando `auth login` para autenticarte en el {% data variables.product.prodname_cli %}: ```shell -$ curl -i https://api.github.com/users/defunkt - -> HTTP/2 200 -> server: GitHub.com -> date: Thu, 08 Jul 2021 07:04:08 GMT -> content-type: application/json; charset=utf-8 -> cache-control: public, max-age=60, s-maxage=60 -> vary: Accept, Accept-Encoding, Accept, X-Requested-With -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" -> last-modified: Fri, 01 Nov 2019 21:56:00 GMT -> x-github-media-type: github.v3; format=json -> access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset -> access-control-allow-origin: * -> strict-transport-security: max-age=31536000; includeSubdomains; preload -> x-frame-options: deny -> x-content-type-options: nosniff -> x-xss-protection: 0 -> referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin -> content-security-policy: default-src 'none' -> x-ratelimit-limit: 60 -> x-ratelimit-remaining: 53 -> x-ratelimit-reset: 1625731053 -> x-ratelimit-resource: core -> x-ratelimit-used: 7 -> accept-ranges: bytes -> content-length: 1305 -> x-github-request-id: 9F60:7019:ACC5CD5:B03C931:60E6A368 -> -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> -> ... -> } +gh auth login ``` -Hay algunas partes interesantes en los encabezados de la respuesta. Como lo esperábamos, el `Content-Type` es `application/json`. +Puedes utilizar el marcador `--scopes` para especificar los alcances que quieres. Si quieres autenticarte con un token que hayas creado, puedes utilizar el marcador `--with-token`. Para obtener más información, consulta la [documentación de `auth login` del {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_auth_login). -Cualquier encabezado que comience como `X` se refiere a un encabezado personalizado, y no se incluirá en la especificación de HTTPS. Por ejemplo, toma en cuenta los encabezados `X-RateLimit-Limit` y `X-RateLimit-Remaining`. Este par de encabezados indican [cuántas solicitudes puede hacer un cliente][rate-limiting] en un periodo continuo (habitualmente, una hora) y cuántas de ellas ya ha gastado el cliente. +{% endcli %} -## Autenticación - -Los clientes sin autenticar pueden hacer hasta 60 solicitudes por hora. Para obtener más solicitudes por hora, necesitaremos _autenticarnos_. De hecho, para hacer cualquier cosa interesante con la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} se necesita [autenticación][authentication]. - -### Utilizar tokens de acceso personal - -La forma más fácil y mejor de autenticarte con la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} es utilizando la autenticación básica [mediante tokens de OAuth](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). Éstos incluyen [tokens de acceso personal][personal token]. - -Utiliza el marcador `-u` para configurar tu nombre de usuario: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -Cuando se te solicite, puedes ingresar tu token de OAuth, pero te recomendamos que configures una variable para éste: - -Puedes utilizar `-u "your_username:$token"` y configurar una variable para `token` y así evitar que tu token se quede en el historial del shell, lo cual debes evitar. - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -Cuando te autentiques, debes ver como tu límite de tasa sube hasta 5,000 solicitudes por hora, como se indicó en el encabezado `X-RateLimit-Limit`. Adicionalmente a proporcionar más llamadas por hora, la autenticación te permite leer y escribir información privada utilizando la API. - -Puedes [crear un**token de acceso personal**][personal token] fácilmente utilizando tu [página de configuración para tokens de acceso personal][tokens settings]: +{% javascript %} {% warning %} -Para mantener tu información segura, te recomendamos ampliamente que configures un vencimiento para tus tokens de acceso personal. +**Advertencia**: Trata tu token de acceso como si fuera una contraseña. + +Para mantener seguro a tu token, puedes almacenarlo como un secreto y ejecutar tu script mediante {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +{% ifversion ghec or fpt %}También puedes almacenar tu token como un secreto de {% data variables.product.prodname_codespaces %} y ejecutar tu script en {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los secretos cifrados para tus codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)".{% endif %} + +Si estas opciones no son posibles, considera utilizar otro servicio tal como [el 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) para almacenar tu token de forma segura. {% endwarning %} -{% ifversion fpt or ghes or ghec %} -![Selección de token personal](/assets/images/personal_token.png) +Para autenticarte con la librería Octokit.js, puedes pasar tu token cuando crees una instancia de `Octokit`. Reemplaza tu `YOUR-TOKEN` con tu token.{% ifversion ghes or ghae %} Reemplaza `[hostname]` con el nombre de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +{% endjavascript %} + +{% curl %} + +{% warning %} + +**Advertencia**: Trata a tu token de acceso como si fuera una contraseña. + +Para ayudarte a mantener segura tu cuenta, puedes utilizar el {% data variables.product.prodname_cli %} en vez de cURL. El {% data variables.product.prodname_cli %} se encargará de la autenticación por ti. Para obtener más información, consulta la versión del {% data variables.product.prodname_cli %} de esta página. + +{% ifversion ghec or fpt %}También puedes almacenar tu token como un secreto de {% data variables.product.prodname_codespaces %} y utilizar la línea de comandos a través de {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los secretos cifrados para tus codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)".{% endif %} + +Si estas opciones no son posibles, considera utilizar otro servicio tal como [el 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) para almacenar tu token de forma segura. + +{% endwarning %} + +Con cURL, enviarás un encabezado de `Authorization` con tu token. Reemplaza `YOUR-TOKEN` con tu token: + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% note %} + +**Nota:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + +{% endcurl %} + +### Ejemplo de autenticación para {% data variables.product.prodname_actions %} + +{% cli %} + +También puedes utilizar la palabra clave `run` para ejecutar los comandos del {% data variables.product.prodname_cli %} en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Sintaxis de flujo de trabajo para las GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +En vez de utilizar el comando `gh auth login`, pasa tu token como una variable de ambiente llamada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto no es posible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` con el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre `GITHUB_TOKEN`, consulta la sección "[Autenticación automática de token](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api /octocat +``` + +{% endcli %} + +{% javascript %} + +También puedes utilizar la palabra clave `run` para ejecutar tus scripts de JavaScript en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consultala sección "[Sintaxis de flujo de trabajo para GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +El siguiente flujo de trabajo de ejemplo: + +1. Verifica el contenido del repositorio +1. Configura a Node.js +1. Instala `octokit` +1. Almacena el valor de `GITHUB_TOKEN` como una variable de ambiente llamada `TOKEN` y ejecuta `.github/actions-scripts/use-the-api.mjs`, que puede acceder a esa variable de ambiente como `process.env.TOKEN` + +Flujo de trabajo de ejemplo: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +Script de JavaScript de ejemplo con la ruta de archivo `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); + +await octokit.request("GET /octocat", {}); +``` + +En vez de almacenar tu script en un archivo por separado y ejecutarlo desde tu flujo de trabajo, puedes utilizar la acción `actions/github-script` para ejecutar un script. Para obtener más información, consulta el [README de actions/github-script](https://github.com/actions/github-script). + +```yaml +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + await github.request('GET /octocat', {}) +``` + +{% endjavascript %} + +{% curl %} + +También puedes utilizar la palabra clave `run` para ejecutar comandos de cURL en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consultala sección "[Sintaxis de flujo de trabajo para GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda que te autentiques con el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/octocat" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Utilizar encabezados + +La mayoría de las operaciones especifican que deberías pasar un encabezado de `Accept` con un valor de `application/vnd.github.v3+json`. Otras operaciones podrían especificar que deberías enviar un encabezado diferente de `Accept` o encabezados adicionales. + +{% cli %} + +Para enviar un encabezado con el {% data variables.product.prodname_cli %}, utiliza el marcador `--header` o `-H` seguido del encabezado en el formato `key: value`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +La librería Octokit.js pasa automáticamente el encabezado `Accept: application/vnd.github.v3+json`. Para pasar encabezados adicionales o un encabezado de `Accept` diferente, agrega la propiedad `headers` al objeto que se está pasando como un segundo argumento del método `request`. El valor de la propiedad `headers` es un objeto con los nombres de encabezado como claves y los valores de encabezado como valores. Por ejemplo, para enviar un encabezado de `content-type` con un valor de `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +Para enviar un encabezado con cURL, utiliza el marcador `--header` o `-H` seguido del encabezado en formato `key: value`. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +## Utilizar parámetros de ruta + +Los parámetros de ruta modifican la ruta de operación. Por ejemplo, la ruta de "Listar propuestas de repositorio" es `/repos/{owner}/{repo}/issues`. Las llaves `{}` denotan parámetros de ruta que necesitas especificar. En este caso, debes especificar el nombre y propietario del repositorio. Para encontrar la documentación de referencia para esta operación, consulta la "[Lista de propuestas de repositorio](/rest/issues/issues#list-repository-issues)". + +{% cli %} + +{% ifversion ghes or ghae %} +{% note %} + +**Nota:** Para que este comando funcione para {% data variables.product.product_location %}, reemplaza `octocat/Spoon-Knife` con un repositorio que le pertenezca a {% data variables.product.product_location %}. De lo contrario, vuelve a ejecutar el comando `gh auth login` para autenticarte en {% data variables.product.prodname_dotcom_the_website %} en vez de en {% data variables.product.product_location %}. + +{% endnote %} {% endif %} -{% ifversion ghae %} -![Selección de token personal](/assets/images/help/personal_token_ghae.png) +Para obtener propuestas del repositorio `octocat/Spoon-Knife`, reemplaza `{owner}` con `octocat` y `{repo}` with `Spoon-Knife`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +{% ifversion ghes or ghae %} +{% note %} + +**Nota:** Para que este ejemplo funcione para {% data variables.product.product_location %}, reemplaza a `octocat/Spoon-Knife` con un repositorio que le pertenezca a {% data variables.product.product_location %}. De lo contrario, crea una nueva instancia de `Octokit` y no especifiques la `baseURL`. + +{% endnote %} {% endif %} -Las solicitudes de la API que utilicen un token de acceso personal con vencimiento devolverán la fecha de vencimiento de dicho token a través del encabezado de `GitHub-Authentication-Token-Expiration`. Puedes utilizar el encabezado en tus scripts para proporcionar un mensaje de advertencia cuando el token esté próximo a vencer. +Cuando hagas una solicitud con Octokit.js, todos los parámetros (incluyendo los de ruta) se pasan en un objeto como el segundo argumento para el método `request`. Para obtener propuestas del repositorio `octocat/Spoon-Knife`, especifica el `owner` como `octocat` y el `repo` como `Spoon-Knife`. -### Obtén tu propio perfil de usuario - -Cuando te autenticas adecuadamente, puedes beneficiarte de los permisos asociados con tu cuenta en {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Por ejemplo, intenta obtener - -```shell -$ curl -i -u your_username:your_token {% data variables.product.api_url_pre %}/user - -> { -> ... -> "plan": { -> "space": 2516582, -> "collaborators": 10, -> "private_repos": 20, -> "name": "medium" -> } -> ... -> } +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); ``` -Esta vez, adicionalmente al mismo conjunto de información pública que recuperamos para [@defunkt][defunkt github] anteriormente, también deberías ver la información diferente a la pública para tu perfil de usuario. Por ejemplo, verás un objeto de `plan` en la respuesta, el cual otorga detalles sobre el plan de {% data variables.product.product_name %} que tiene la cuenta. +{% endjavascript %} -### Utiilzar tokens de OAuth para las apps +{% curl %} -Las apps que necesitan leer o escribir información privada utilizando la API en nombre de otro usuario deben utilizar [OAuth][oauth]. +Para obtener propuestas del repositorio `octocat/Spoon-Knife`, reemplaza `{owner}` con `octocat` y `{repo}` with `Spoon-Knife`. Para crear la ruta completa, antepón la URL base para la API de REST de {% data variables.product.prodname_dotcom %}, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. -OAuth utiliza _tokens_. Los Tokens proporcionan dos características grandes: +{% ifversion ghes or ghae %} +{% note %} -* **Acceso revocable**: los usuarios pueden revocar la autorización a las apps de terceros en cualquier momento -* **Acceso limitado**: los usuarios pueden revisar el acceso específico que proporcionará un token antes de autorizar una app de terceros +**Nota:** Si quieres utilizar {% data variables.product.product_location %} en vez de {% data variables.product.prodname_dotcom_the_website %}, utiliza `{% data variables.product.api_url_code %}` en vez de `https://api.github.com` y reemplaza a `[hostname]` con el nombre de {% data variables.product.product_location %}. Reemplaza a `octocat/Spoon-Knife` con un repositorio que le pertenezca a {% data variables.product.product_location %}. -Los tokens deben crearse mediante un [flujo web][webflow]. Una aplicación envía a los usuarios a {% data variables.product.product_name %} para que inicien sesión. Entonces, {% data variables.product.product_name %} presenta un diálogo que indica el nombre de la app así como el nivel de acceso que ésta tiene una vez que el usuario la autorice. Después de que un usuario autoriza el acceso, {% data variables.product.product_name %} lo redirecciona de vuelta a la aplicación: - -![Diálogo de OAuth de GitHub](/assets/images/oauth_prompt.png) - -**¡Trata a los tokens de OAuth como si fueran contraseñas!** No los compartas con otros usuarios ni los almacenes en lugares inseguros. Los tokens en estos ejemplos son falsos y los nombres se cambiaron para proteger a los inocentes. - -Ahora que ya entendimos cómo hacer llamadas autenticadas, vamos a pasar a la [API de repositorios][repos-api]. - -## Repositorios - -Casi cualquier uso significativo de la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} involucrará algún nivel de información de repositorio. Podemos hacer [`GET` para los detalles de un repositorio][get repo] de la misma forma que recuperamos los detalles del usuario anteriormente: +{% endnote %} +{% endif %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -De la misma forma, podemos [ver los repositorios del usuario autenticado][user repos api]: +{% endcurl %} + +La operación devuelve una lista de propuestas y datos sobre cada una de ellas. Para obtener más información sobre cómo utilizar la respuesta, consulta la sección "[Utiliza la respuesta](#using-the-response)". + +## Utilizar parámetros de consultas + +Los parámetros de consultas te permiten controlar los datos que se devuelven para una solicitud. Por ejemplo, un parámetro de consulta te permite especificar cuántos elementos se devuelven cuando la respuesta se pagina. + +Predeterminadamente, la operación "List repository issues" devuelve treinta propuestas, ordenadas descendientemente por la fecha en la que se crearon. Puedes utilizar el parámetro `per_page` para devolver dos propuestas en vez de 30. Puedes utilizar el parámetro `sort` para ordenar las propuestas de acuerdo con la fecha en las que se actualizaron por última vez en vez de por la fecha en la que se crearon. Puedes utilizar el parámetro `direction` para ordenar los resultados ascendientemente en vez de descendientemente. + +{% cli %} + +Para el {% data variables.product.prodname_cli %}, utiliza el marcador `-F` para pasar un parámetro que sea un número, booleano o nulo. Utiliza `-f` para pasar los parámetros de secuencias. + +{% note %} + +**Nota**: El {% data variables.product.prodname_cli %} no acepta actualmente parámetros que sean arreglos. Para obtener más información, consulta [esta propuesta](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -O podemos [listar los repositorios de otro usuario][other user repos api]: +{% endcli %} + +{% javascript %} + +Cuando hagas una solicitud con Octokit.js, todos los parámetros, incluyendo los de las consultas, se pasan en un objeto como el segundo argumento para el método `request`. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para cURL, agrega un `?` al final de la ruta y luego antepón tu nombre de parámetro de consulta y su valor en la forma `parameter_name=value`. Separa los parámetros de consulta múltiples con `&`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -O podemos [listar los repositorios de una organización][org repos api]: +{% endcurl %} + +La operación devuelve una lista de propuestas y datos sobre cada una de ellas. Para obtener más información sobre cómo utilizar la respuesta, consulta la sección "[Utiliza la respuesta](#using-the-response)". + +## Utilizar parámetros de cuerpo + +Los parámetros de cuerpo te permiten pasar datos adicionales a la API. Por ejemplo, la operación "Crear una propuesta" requiere que especifiques un título para la propuesta nueva. También te permite especificar otro tipo de información, tal como el texto a poner en el cuerpo de la propuesta. Para ver toda la documentación de referencia para esta operación, consulta la sección "[Crear una propuesta](/rest/issues/issues#create-an-issue)". + +La operación "Create an issue" utiliza la misma ruta que la operación "List repository issues" en el ejemplo anterior, pero utiliza el método `POST` en vez de un método `GET`. + +{% cli %} + +Para el {% data variables.product.prodname_cli %}, utiliza el marcador `-F` para pasar un parámetro que sea un número, booleano o nulo. Utiliza `-f` para pasar los parámetros de secuencias. + +{% note %} + +**Nota**: El {% data variables.product.prodname_cli %} no acepta actualmente parámetros que sean arreglos. Para obtener más información, consulta [esta propuesta](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -La información que se devuelve de estas llamadas dependerá de los alcances que tenga nuestrotoken cuando nos autenticamos: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* Un token con [alcance][scopes] de `public_repo` devolverá una respuesta que incluye todos los repositorios públicos que podemos ver en {% data variables.product.product_location %}. -{%- endif %} -* Un token con [alcance][scopes] de `repo` devolverá una respuesta que incluirá a todos los repositorios {% ifversion fpt %}públicos o privados{% elsif ghec or ghes %} públicos, privados o internos{% elsif ghae %} privados o internos{% endif %} a los que se tiene acceso para ver en {% data variables.product.product_location %}. +{% javascript %} -Como indican los [docs][repos-api], estos métodos toman un parámetro de `type` que puede filtrar los repositorios que se regresan con base en el tipo de acceso que el usuario tiene en ellos. De esta forma, podemos obtener los solo los repositorios que nos pertenezcan directamente, repositorios de organizacion o repositorios en los que el usuario colabore a través del equipo. +Cuando haces una solicitud con Octokit.js, todos los parámetros, incluyendo los del cuerpo, se pasan en un objeto como el segundo argumento al método `request`. + +```javascript +await octokit.request("POST /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + title: "Created with the REST API", + body: "This is a test issue created by the REST API", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para cURL, utiliza el marcador `--data` para pasar los parámetros del cuerpo en un objeto JSON. ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -En este ejemplo, tomamos únicamente los repositorios que pertenecen a octocat, no aquellos en los que ella colabora. Nota la URL que se cita arriba. Dependiendo de tu configuración de shell, cURL a veces requiere una URL citada, o de lo contrario ignora la secuencia de consulta. +{% endcurl %} -### Crear un repositorio +La operación crea una propuesta y devuelve datos sobre la propuesta nueva. En la respuesta, encuentra la `html_url` de tu propuesta y navega a esta en el buscador. Para obtener más información sobre cómo utilizar la respuesta, consulta la sección "[Utiliza la respuesta](#using-the-response)". -Un caso de común de uso es retribuir información para repositorios existentes, pero la -La API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} también es compatible con crear repositorios nuevos. Para [crear un repositorio][create repo], -necesitamos hacer `POST` en algunos JSON que contengan los detalles y las opciones de configuración. +## Utilizar la respuesta + +### Acerca de los encabezados y el código de respuesta + +Cada solicitud devolverá un código de estado HTTP que indica el éxito del a respuesta. Para obtener más información sobre los códigos de respuesta, consulta [la documentación del código de estado de respuesta MDN HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Adicionalmente, la respuesta incluirá encabezados que dan más detalles sobre ella. Los encabezados que comienzan con `X-` o `x-` son personalizados para {% data variables.product.company_short %}. Por ejemplo, los encabezados `x-ratelimit-remaining` y `x-ratelimit-reset` te dicen cuántas solicitudes puedes hacer en un tiempo definido. + +{% cli %} + +Para ver los encabezados y el código de estado, utiliza el marcador `--include` o `--i` cuando envías tu solicitud. + +Por ejemplo, esta solicitud: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -En este ejemplo mínimo, creamos un repositorio privado nuevo para nuestro blog (que se servirá en [GitHub Pages][pages], probablemente). Aunque el blog {% ifversion not ghae %}será público{% else %}está disponible para todos los miembros de la empresa{% endif %}, hemos hecho el repositorio privado. En este paso, también lo inicializaremos con un README y con una [plantilla de.gitignored][gitignore templates] enriquecida con [nanoc][nanoc]. - -El repositorio que se obtiene como resultado se puede encontrar en `https://github.com//blog`. Para crear un repositorio bajo una organización para la cual eres propietario, solo cambia el método de la API de `/user/repos` a `/orgs//repos`. - -Posteriormente vamos a obtener nuestro repositorio recién creado: +devuelve el código de respuesta y los encabezados como: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -¡Oh no! ¿A dónde se fue? Ya que creamos el repositorio como _privado_, necesitamos autenticarnos para poder verlo. Si eres un usuario experimentado en HTTP, tal vez esperes recibir un código `403` en vez de ésto. Ya que no queremos filtrar información sobre los repositorios privados, la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} devolverá un `404` en este caso para decir "no podemos confirmar ni negar la existencia de este repositorio". +En este ejemplo, el código de respuesta es `200`, lo que indica una solicitud exitosa. -## Problemas +{% endcli %} -La IU de informe de problemas en {% data variables.product.product_name %} pretende proporcionar suficiente flujo de trabajo mientras evita estorbarte. Con la [API de propuestas][issues-api] de {% data variables.product.product_name %}, puedes extraer datos para crear propuestas desde otras herramientas para crear flujos de trabajo que funcionen para tu equipo. +{% javascript %} -Tal como en github.com, la API proporciona algunos cuantos métodos para ver los informes de problemas para el usuario autenticado. Para [ver todas tus propuestas][get issues api], llama a `GET /issues`: +Cuando haces una solicitud con Octokit.js, el método `request` devuelve una promesa. Si la solicitud tuvo éxito, la promesa se resuelve en un objeto que incluye el código de estado HTTP de la respuesta (`estado`) y los encabezados de ella (`headers`). Si ocurre un error, la promesa se resuelve en un objeto que incluye el código de estado HTTP de esta (`status`) y los encabezados de la misma (`response.headers`). + +Puedes utilizar un bloque `try/catch` para detectar un error si es que ocurre. Por ejemplo, si la solicitud en el siguiente script tiene éxito, este registrará el código de estaod y el valor del encabezado `x-ratelimit-remaining`. Si la solicitud no tuvo éxito, el script registrará el código de estado, el valor del encabezado `x-ratelimit-remaining` y el mensaje de error. + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + console.log(`Success! Status: ${result.status}. Rate limit remaining: ${result.headers["x-ratelimit-remaining"]}`) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Rate limit remaining: ${error.headers["x-ratelimit-remaining"]}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Para ver los encabezados y el código de estado, utiliza el marcador `--include` o `--i` cuando envías tu solicitud. + +Por ejemplo, esta solicitud: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -Para obtener únicamente las [propuestas bajo alguna de tus organizaciones de {% data variables.product.product_name %}][get issues api], llama a `GET -/orgs//issues`: +devuelve el código de respuesta y los encabezados como: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -También podemos obtener [todas las propuestas que estén bajo un solo repositorio][repo issues api]: +En este ejemplo, el código de respuesta es `200`, lo que indica una solicitud exitosa. + +{% endcurl %} + +### Acerca del cuerpo de la respuesta + +Muchas operaciones devolverán un cuerpo de la respuesta. A menos de que se especifique lo contrario, el cuerpo de la respuesta estará en formato JSON. Por ejemplo, esta solicitud devuelve una lista de propuestas con datos sobre cada una de ellas: + +{% cli %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -### Paginación +{% endcli %} -Un proyecto con el tamaño de Rails tiene miles de informes de problemas. Necesitaremos [paginar][pagination], haciendo varias llamadas a la API para obtener los datos. Vamos a repetir la última llamada, esta vez tomando nota de los encabezados de respuesta: +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -El [encabezado de `Link`][link-header] proporciona una respuesta para enlazar a los recursos externos, en este caso, a las páginas de datos adicionales. Ya que nuestra llamada encontró más de treinta informes de problemas (el tamaño predeterminado de página), la API no s dice dónde podemos encontrar la siguiente página y la última página de los resultados. +{% endcurl %} -### Crear una propuesta +A diferencia de la API de GraphQL, en donde especificas la información que quieres, la API de REST habitualmente devuelve más información de la que necesitas. Si lo deseas, puedes analizar la respuesta para extraer pedazos de información específica. -Ahora que hemos visto cómo paginar las listas de propuestas, vamos a [crear una propuesta][create issue] desde la API. +{% cli %} -Para crear un informe de problemas, necesitamos estar autenticados, así que pasaremos un token de OAuth en el encabezado. También, pasaremos el título, cuerpo, y etiquetas en el cuerpo de JSON a la ruta `/issues` debajo del repositorio en el cual queremos crear el informe de problemas: +Por ejemplo, puedes utilizar `>` para redirigir la respuesta a un archivo: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json ``` -La respuesta nos entrega un par de sugerencias para el informe de problemas recién creado, tanto en el encabezado de respuesta de `Location` como en el campo de `url` de la respuesta de JSON. - -## Solicitudes condicionales - -Una gran parte de ser un buen ciudadano de la API es respetar los límites de tasa al almacenar información en el caché, la cual no haya cambiado. La API es compatible con las [solicitudes condicionales][conditional-requests] y te ayuda a hacer lo correcto. Considera el primer llamado que hicimos para obtener el perfil de defunkt: +Posteriormente, puedes utilizar jq para obtener el título e ID de autor de cada propuesta: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +jq '.[] | {title: .title, authorID: .user.id}' data.json ``` -Además del cuerpo de JSON, toma nota del código de estado HTTP de `200` y del encabezado `ETag`. La [ETag][etag] es una huella digital de la respuesta. Si la pasamos en llamadas subsecuentes, podemos decirle a la API que nos entregue el recurso nuevamente, únicamente si cambió: +Los dos comandos anteriores devolverán algo similar a: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +Para obtener más información sobre jq, consulta [the jq documentation](https://stedolan.github.io/jq/) y [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +Por ejemplo, puedes obtener el título e ID de autor de cada propuesta: + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Por ejemplo, puedes utilizar `>` para redirigir la respuesta a un archivo: ```shell -$ curl -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json ``` -El estado `304` indica que el recurso no ha cambiado desde la última vez que lo solicitamos y que la respuesta no contendrá ningún cuerpo. Como bono, las respuestas de tipo `304` no cuentan en tu [límite de tasa][rate-limiting]. +Posteriormente, puedes utilizar jq para obtener el título e ID de autor de cada propuesta: -¡Ahora conoces lo básico de la API de {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}! +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` -* Autenticación básica & de OAuth -* Obtener y crear repositorios e informes de problemas -* Solicitudes condicionales +Los dos comandos anteriores devolverán algo similar a: -Sigue aprendiendo con la siguiente guía de la API ¡[Fundamentos de la Autenticación][auth guide]! +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[oauth]: /apps/building-integrations/setting-up-and-registering-oauth-apps/ -[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ -[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ -[repos-api]: /rest/reference/repos -[repos-api]: /rest/reference/repos -[pages]: http://pages.github.com -[nanoc]: http://nanoc.ws/ -[gitignore templates]: https://github.com/github/gitignore -[issues-api]: /rest/reference/issues -[link-header]: https://www.w3.org/wiki/LinkHeader -[conditional-requests]: /rest#conditional-requests -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[users api]: /rest/reference/users#get-a-user -[defunkt github]: https://github.com/defunkt -[defunkt github]: https://github.com/defunkt -[json]: http://en.wikipedia.org/wiki/JSON -[authentication]: /rest#authentication -[personal token]: /articles/creating-an-access-token-for-command-line-use -[personal token]: /articles/creating-an-access-token-for-command-line-use -[tokens settings]: https://github.com/settings/tokens -[pagination]: /rest#pagination -[get repo]: /rest/reference/repos#get-a-repository -[create repo]: /rest/reference/repos#create-a-repository-for-the-authenticated-user -[create issue]: /rest/reference/issues#create-an-issue -[auth guide]: /guides/basics-of-authentication -[user repos api]: /rest/reference/repos#list-repositories-for-the-authenticated-user -[other user repos api]: /rest/reference/repos#list-repositories-for-a-user -[org repos api]: /rest/reference/repos#list-organization-repositories -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[repo issues api]: /rest/reference/issues#list-repository-issues -[etag]: http://en.wikipedia.org/wiki/HTTP_ETag +Para obtener más información sobre jq, consulta [the jq documentation](https://stedolan.github.io/jq/) y [jq play](https://jqplay.org/). + +{% endcurl %} + +## Pasos siguientes + +Este artículo demostró cómo listar y crear propuestas en un repositorio. Para practicar más, intenta comentar en una propuesta, edita el título de una propuesta o cierra una propuesta. Para obtener más información sobre estas operaciones, consulta las secciones "[Crear un comentario de propuesta](/rest/issues#create-an-issue-comment)" y "[Actualizar una propuesta](/rest/issues/issues#update-an-issue)". + +Para obtener más información sobre las operaciones que puedes utilizar, consulta la [documentación de referencia de REST](/rest). diff --git a/translations/es-ES/content/rest/index.md b/translations/es-ES/content/rest/index.md index 6653a92ce3..de30dc9f91 100644 --- a/translations/es-ES/content/rest/index.md +++ b/translations/es-ES/content/rest/index.md @@ -3,7 +3,8 @@ title: API de REST de GitHub shortTitle: API de REST intro: 'Para crear integraciones, recuperar datos y automatizar tus flujos de trabajo, compila con la API de REST de {% data variables.product.prodname_dotcom %}.' introLinks: - quickstart: /rest/guides/getting-started-with-the-rest-api + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api featuredLinks: guides: - /rest/guides/getting-started-with-the-rest-api @@ -31,6 +32,7 @@ versions: ghae: '*' ghec: '*' children: + - /quickstart - /overview - /guides - /actions diff --git a/translations/es-ES/content/rest/interactions/orgs.md b/translations/es-ES/content/rest/interactions/orgs.md index 321fce5ec0..04d052cdc3 100644 --- a/translations/es-ES/content/rest/interactions/orgs.md +++ b/translations/es-ES/content/rest/interactions/orgs.md @@ -1,5 +1,5 @@ --- -title: Organization interactions +title: Interacciones de organización shortTitle: Organización intro: 'La API de interacciones de organización permite que los propietarios de la organización restrinjan temporalmente qué tipo de usuarios pueden comentar, abrir propuestas o crear solicitudes de cambios en los repositorios públicos de dicha organización.' versions: @@ -11,7 +11,7 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the Organization interactions API +## Acerca de la API de interacciones de organización La API de interacciones de organización permite que los propietarios de la organización restrinjan temporalmente qué tipo de usuarios pueden comentar, abrir propuestas o crear solicitudes de cambios en los repositorios públicos de dicha organización. {% data reusables.interactions.interactions-detail %} Aquí puedes aprender más sobre los tipos de usuario de {% data variables.product.product_name %}: diff --git a/translations/es-ES/content/rest/interactions/repos.md b/translations/es-ES/content/rest/interactions/repos.md index 9224e9c109..1c5c3d82a4 100644 --- a/translations/es-ES/content/rest/interactions/repos.md +++ b/translations/es-ES/content/rest/interactions/repos.md @@ -1,5 +1,5 @@ --- -title: Repository interactions +title: Interacciones de repositorio shortTitle: Repositorio intro: 'La API de interacciones de repositorio permite a las personas con acceso administrativo o de propietario restringir temporalmente qué tipo de usuario puede comentar, abrir propuestas o crear solicitudes de cambios en un repositorio privado.' versions: @@ -11,7 +11,7 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the Repository interactions API +## Acerca de la API de interacciones de repositorio La API de interacciones de repositorio permite a las personas con acceso administrativo o de propietario restringir temporalmente qué tipo de usuario puede comentar, abrir propuestas o crear solicitudes de cambios en un repositorio privado. {% data reusables.interactions.interactions-detail %} Aquí puedes aprender más sobre los tipos de usuario de {% data variables.product.product_name %}: diff --git a/translations/es-ES/content/rest/issues/comments.md b/translations/es-ES/content/rest/issues/comments.md index 12e27f497e..79fd142033 100644 --- a/translations/es-ES/content/rest/issues/comments.md +++ b/translations/es-ES/content/rest/issues/comments.md @@ -13,8 +13,8 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Issue comments API +## Acerca de la API de comentarios de propuestas -La API de comentarios en las propuestas es compatible con la administración de comentarios en las propuestas y solicitudes de cambios. {% data reusables.pull_requests.issues-pr-shared-api %} To manage pull request review comments, use the [Pull request review comments API](/rest/pulls/comments) instead. +La API de comentarios en las propuestas es compatible con la administración de comentarios en las propuestas y solicitudes de cambios. {% data reusables.pull_requests.issues-pr-shared-api %} Para administrar los comentarios de revisión de solicitudes de cambio, utiliza la [API de comentarios de revisión en solicitudes de cambio](/rest/pulls/comments) en su lugar. {% data reusables.pull_requests.issues-media-types %} diff --git a/translations/es-ES/content/rest/issues/labels.md b/translations/es-ES/content/rest/issues/labels.md index 9e6dfc84ce..c8a6a2e513 100644 --- a/translations/es-ES/content/rest/issues/labels.md +++ b/translations/es-ES/content/rest/issues/labels.md @@ -11,6 +11,6 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Labels API +## Acerca de la API de etiquetas -The Labels API supports managing labels for a repository and adding or removing labels to issues and pull requests. {% data reusables.pull_requests.issues-pr-shared-api %} +La API de etiquetas es compatible con administrar etiquetas para un repositorio y agregar o eliminar etiquetas para las propuestas y solicitudes de cambio. {% data reusables.pull_requests.issues-pr-shared-api %} diff --git a/translations/es-ES/content/rest/metrics/community.md b/translations/es-ES/content/rest/metrics/community.md index e6e3f7d92f..2064af0ae2 100644 --- a/translations/es-ES/content/rest/metrics/community.md +++ b/translations/es-ES/content/rest/metrics/community.md @@ -1,8 +1,8 @@ --- -title: Community metrics +title: Métricas comunitarias shortTitle: Comunidad allowTitleToDifferFromFilename: true -intro: The Community metrics API lets you get data about your community profile. +intro: La API de métricas comunitarias te permite obtener datos sobre el perfil de tu comunidad. versions: fpt: '*' ghec: '*' diff --git a/translations/es-ES/content/rest/metrics/statistics.md b/translations/es-ES/content/rest/metrics/statistics.md index 4394313801..b4a39356b6 100644 --- a/translations/es-ES/content/rest/metrics/statistics.md +++ b/translations/es-ES/content/rest/metrics/statistics.md @@ -1,5 +1,5 @@ --- -title: Repository statistics +title: Estadísticas de repositorio shortTitle: Estadísticas allowTitleToDifferFromFilename: true intro: 'La API de estadísticas de repositorio te permite recuperar los datos que {% data variables.product.product_name %} utiliza para visualizar tipos diferentes de actividad de repositorio.' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Repository statistics API +## Acerca de las API de estadísticas de repositorio La API de estadísticas de repositorio te permite recuperar los datos que {% data variables.product.product_name %} utiliza para visualizar tipos diferentes de actividad de repositorio. diff --git a/translations/es-ES/content/rest/metrics/traffic.md b/translations/es-ES/content/rest/metrics/traffic.md index 05d5337041..f10105c24c 100644 --- a/translations/es-ES/content/rest/metrics/traffic.md +++ b/translations/es-ES/content/rest/metrics/traffic.md @@ -1,8 +1,8 @@ --- -title: Repository traffic +title: Tráfico de repositorio shortTitle: Tráfico allowTitleToDifferFromFilename: true -intro: The Repository traffic API provides access to the information provided in your repository graph. +intro: La API de tráfico de repositorio proporciona acceso a la información proporcionada en tu gráfica de repositorio. versions: fpt: '*' ghec: '*' @@ -11,6 +11,6 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Repository traffic API +## Acerca de la API de tráfico de repositorio -For repositories that you have push access to, the Repository traffic API provides access to the information provided in your repository graph. Para obtener más información, consulta la sección "[Ver el tráfico hacia un repositorio](/repositories/viewing-activity-and-data-for-your-repository/viewing-traffic-to-a-repository)". +Para los repositorios a los cuales tienes acceso de subida, la API de tráfico de repositorio proporciona acceso a la información que se proporciona en tu gráfica de repositorio. Para obtener más información, consulta la sección "[Ver el tráfico hacia un repositorio](/repositories/viewing-activity-and-data-for-your-repository/viewing-traffic-to-a-repository)". diff --git a/translations/es-ES/content/rest/migrations/orgs.md b/translations/es-ES/content/rest/migrations/orgs.md index fd9856ea4b..0eb7f48e9e 100644 --- a/translations/es-ES/content/rest/migrations/orgs.md +++ b/translations/es-ES/content/rest/migrations/orgs.md @@ -1,5 +1,5 @@ --- -title: Organization migrations +title: Migraciones de organización allowTitleToDifferFromFilename: true shortTitle: Organizaciones intro: '' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Organization migrations API +## Acerca de la API de migraciones de organización La API de Migraciones solo está disponible para los propietarios autenticados de la organización. Para obtener más información, consulta las secciones "[Roles en una organización](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization#permission-levels-for-an-organization)" y "[Otros métodos de autenticación](/rest/overview/other-authentication-methods)". diff --git a/translations/es-ES/content/rest/migrations/source-imports.md b/translations/es-ES/content/rest/migrations/source-imports.md index 472648b9bf..5b683c679a 100644 --- a/translations/es-ES/content/rest/migrations/source-imports.md +++ b/translations/es-ES/content/rest/migrations/source-imports.md @@ -9,9 +9,9 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Source imports API +## Acerca de la API de importaciones de código fuente -{% data variables.migrations.source_imports_intro %} A typical source import would start the import and then (optionally) update the authors and/or update the preference for using Git LFS if large files exist in the import. También puedes crear un webhook que escuche al [`RepositoryImportEvent`](/developers/webhooks-and-events/webhook-events-and-payloads#repository_import) para encontrar el estado de la importación. +{% data variables.migrations.source_imports_intro %} Una importación de código fuente habitual iniciaría la importación y después (opcionalmente) actualizaría a los autores o a la preferencia para utilizar LFS de Git si existen archivos grandes en la importación. También puedes crear un webhook que escuche al [`RepositoryImportEvent`](/developers/webhooks-and-events/webhook-events-and-payloads#repository_import) para encontrar el estado de la importación. Se puede ver un ejemplo más detallado en este diagrama: diff --git a/translations/es-ES/content/rest/oauth-authorizations.md b/translations/es-ES/content/rest/oauth-authorizations.md index 3c22e5dd08..ef94233ad5 100644 --- a/translations/es-ES/content/rest/oauth-authorizations.md +++ b/translations/es-ES/content/rest/oauth-authorizations.md @@ -1,6 +1,6 @@ --- -title: OAuth authorizations -intro: The OAuth authorizations lets you manage the access OAuth applications have to your account. +title: Autorizaciones de OAuth +intro: Las autorizaciones de OAuth te permiten administrar el acceso que las aplicaciones de OAuth tienen en tu cuenta. versions: ghes: '*' topics: @@ -10,7 +10,7 @@ redirect_from: - /rest/reference/oauth-authorizations --- -## About the OAuth authorizations API +## Acerca de la API de autorizaciones OAuth Puedes utilizar esta API para administrar el acceso que las aplicaciones de OAuth tienen en tu cuenta. Solo puedes acceder a esta API a través de la [Autenticación Básica](/rest/overview/other-authentication-methods#basic-authentication) utilizando tu nombre de usuario y contraseña, y no los tokens. diff --git a/translations/es-ES/content/rest/orgs/custom-roles.md b/translations/es-ES/content/rest/orgs/custom-roles.md index 748da0f6cc..ae1e5dd230 100644 --- a/translations/es-ES/content/rest/orgs/custom-roles.md +++ b/translations/es-ES/content/rest/orgs/custom-roles.md @@ -1,5 +1,5 @@ --- -title: Custom Repository Roles +title: Roles de repositorio personalizados intro: '' versions: fpt: '*' diff --git a/translations/es-ES/content/rest/orgs/outside-collaborators.md b/translations/es-ES/content/rest/orgs/outside-collaborators.md index 42c4707e72..f6ffa6c21f 100644 --- a/translations/es-ES/content/rest/orgs/outside-collaborators.md +++ b/translations/es-ES/content/rest/orgs/outside-collaborators.md @@ -1,5 +1,5 @@ --- -title: Outside Collaborators +title: Colaboradores externos intro: '' versions: fpt: '*' diff --git a/translations/es-ES/content/rest/overview/other-authentication-methods.md b/translations/es-ES/content/rest/overview/other-authentication-methods.md index b75ab98525..d8147fdb5d 100644 --- a/translations/es-ES/content/rest/overview/other-authentication-methods.md +++ b/translations/es-ES/content/rest/overview/other-authentication-methods.md @@ -86,10 +86,16 @@ If you have two-factor authentication enabled, make sure you understand how to [ {% endnote %} +{% note %} + +**Note:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + If you're using the API to access an organization that enforces [SAML SSO][saml-sso] for authentication, you'll need to create a personal access token (PAT) and [authorize the token][allowlist] for that organization. Visit the URL specified in `X-GitHub-SSO` to authorize the token for the organization. ```shell -$ curl -v -H "Authorization: token TOKEN" {% data variables.product.api_url_pre %}/repos/octodocs-test/test +$ curl -v -H "Authorization: Bearer TOKEN" {% data variables.product.api_url_pre %}/repos/octodocs-test/test > X-GitHub-SSO: required; url=https://github.com/orgs/octodocs-test/sso?authorization_request=AZSCKtL4U8yX1H3sCQIVnVgmjmon5fWxks5YrqhJgah0b2tlbl9pZM4EuMz4 { @@ -101,7 +107,7 @@ $ curl -v -H "Authorization: token TOKEN" {% data variables.product.api When requesting data that could come from multiple organizations (for example, [requesting a list of issues created by the user][user-issues]), the `X-GitHub-SSO` header indicates which organizations require you to authorize your personal access token: ```shell -$ curl -v -H "Authorization: token TOKEN" {% data variables.product.api_url_pre %}/user/issues +$ curl -v -H "Authorization: Bearer TOKEN" {% data variables.product.api_url_pre %}/user/issues > X-GitHub-SSO: partial-results; organizations=21955855,20582480 ``` diff --git a/translations/es-ES/content/rest/overview/resources-in-the-rest-api.md b/translations/es-ES/content/rest/overview/resources-in-the-rest-api.md index 6bf30239c1..7dd81b9332 100644 --- a/translations/es-ES/content/rest/overview/resources-in-the-rest-api.md +++ b/translations/es-ES/content/rest/overview/resources-in-the-rest-api.md @@ -79,7 +79,7 @@ $ curl -u "username" {% data variables.product.api_url_pre %} ### Token de OAuth (enviado en un encabezado) ```shell -$ curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %} +$ curl -H "Authorization: Bearer OAUTH-TOKEN" {% data variables.product.api_url_pre %} ``` {% note %} @@ -88,6 +88,12 @@ Nota: GitHub recomienda enviar los tokens de OAuth utilizando el encabezado de a {% endnote %} +{% note %} + +**Nota:** {% data reusables.getting-started.bearer-vs-token %} + +{% endnote %} + Lee [más acerca de OAuth2](/apps/building-oauth-apps/). Nota que los tokens de OAuth2 pueden adquirirse utilizando el [flujo de aplicaciones web](/developers/apps/authorizing-oauth-apps#web-application-flow) para las aplicaciones productivas. {% ifversion fpt or ghes or ghec %} diff --git a/translations/es-ES/content/rest/overview/troubleshooting.md b/translations/es-ES/content/rest/overview/troubleshooting.md index 7562d15e46..a401fbd968 100644 --- a/translations/es-ES/content/rest/overview/troubleshooting.md +++ b/translations/es-ES/content/rest/overview/troubleshooting.md @@ -44,13 +44,13 @@ curl -u my_user:my_password https://api.github.com/user/repos En vez de esto, utiliza un [token de acceso personal](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line) cuando pruebes las terminales o cuando realices desarrollos locales: ```bash -curl -H 'Authorization: token my_access_token' https://api.github.com/user/repos +curl -H 'Authorization: Bearer my_access_token' https://api.github.com/user/repos ``` Para las Apps de Oauth, debes utilizar el [flujo de aplicaciones web](/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) para generar un token de OAuth para utilizar el encabezado de la llamada a la API: ```bash -curl -H 'Authorization: token my-oauth-token' https://api.github.com/user/repos +curl -H 'Authorization: Bearer my-oauth-token' https://api.github.com/user/repos ``` ## Exceder el tiempo de espera diff --git a/translations/es-ES/content/rest/projects/columns.md b/translations/es-ES/content/rest/projects/columns.md index d3049358c3..50da2d5df5 100644 --- a/translations/es-ES/content/rest/projects/columns.md +++ b/translations/es-ES/content/rest/projects/columns.md @@ -1,8 +1,8 @@ --- -title: '{% data variables.product.prodname_project_v1_caps %} columns' +title: 'Columnas de {% data variables.product.prodname_project_v1_caps %}' shortTitle: Columnas allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_project_v1 %} columns API lets you create and manage columns on a {% data variables.projects.projects_v1_board %}.' +intro: 'La API de columnas de {% data variables.product.prodname_project_v1 %} te permite crear y administrar columnas en un {% data variables.projects.projects_v1_board %}.' versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/projects/projects.md b/translations/es-ES/content/rest/projects/projects.md index 79c2aaa6b1..69c8cbf99f 100644 --- a/translations/es-ES/content/rest/projects/projects.md +++ b/translations/es-ES/content/rest/projects/projects.md @@ -1,8 +1,8 @@ --- title: '{% data variables.product.prodname_projects_v1_caps %}' -shortTitle: Boards +shortTitle: Tableros allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_projects_v1 %} API lets you create and manage {% data variables.projects.projects_v1_boards %} in a repository.' +intro: 'La API de {% data variables.product.prodname_projects_v1 %} te permite crear y fusionar {% data variables.projects.projects_v1_boards %} en un repositorio.' versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/pulls/reviews.md b/translations/es-ES/content/rest/pulls/reviews.md index fe739aefdc..77aade526c 100644 --- a/translations/es-ES/content/rest/pulls/reviews.md +++ b/translations/es-ES/content/rest/pulls/reviews.md @@ -13,6 +13,6 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Pull request reviews API +## Acerca de la API de revisiones de solicitudes de cambio -Pull Request Reviews are groups of pull request review comments on a pull request, grouped together with a state and optional body comment. +Las revisiones de solicitudes de cambio son grupos de comentarios en dichas revisiones que se agrupan con un estado y comentario de cuerpo opcional. diff --git a/translations/es-ES/content/rest/quickstart.md b/translations/es-ES/content/rest/quickstart.md new file mode 100644 index 0000000000..498bf4499e --- /dev/null +++ b/translations/es-ES/content/rest/quickstart.md @@ -0,0 +1,351 @@ +--- +title: Guía de inicio rápido para la API de REST de GitHub +intro: 'Aprende cómo iniciar con la API de REST de {% data variables.product.prodname_dotcom %}.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Inicio Rápido +topics: + - API +redirect_from: + - /guides/getting-started + - /v3/guides/getting-started +miniTocMaxHeadingLevel: 3 +--- + +Este artículo describe cómo iniciar rápidamente con la API de REST de {% data variables.product.prodname_dotcom %} utilizando el {% data variables.product.prodname_cli %}, JavaScript o cURL. Para obtener una guía más detallada, consulta la sección "[Iniciar con la API de REST](/rest/guides/getting-started-with-the-rest-api)". + +{% cli %} + +## Iniciar utilizando el {% data variables.product.prodname_cli %} + +### Utilizar el {% data variables.product.prodname_cli %} en la línea de comando + +El {% data variables.product.prodname_cli %} es la forma más fácil de utilizar la API de REST de {% data variables.product.prodname_dotcom %} desde la línea de comandos. + +1. Instala el {% data variables.product.prodname_cli %} si aún no lo has hecho. Para obtener las instrucciones de instalación, consulta el [repositorio del {% data variables.product.prodname_cli %}](https://github.com/cli/cli#installation). +1. Utiliza el subcomando `auth login` para autenticarte en el {% data variables.product.prodname_cli %}. Para obtener más información, consulta la [documentación de `auth login` del {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Utiliza el subcomando `api` para hacer tu solicitud de la API. Para obtener más información, consulta la [documentación de `api` del {% data variables.product.prodname_cli %}](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Utilizar el {% data variables.product.prodname_cli %} en {% data variables.product.prodname_actions %} + +También puedes utilizar el {% data variables.product.prodname_cli %} en tus flujos de trabajo de {% data variables.product.prodname_actions %}. Para obtener más información, consulta la sección "[Utilizar el CLI de GitHub en los flujos de trabajo](/actions/using-workflows/using-github-cli-in-workflows)". + +En vez de utilizar el comando `gh auth login`, pasa un token de acceso como una variable de ambiente llamada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomienda que utilices el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +Si te estás autenticando con una {% data variables.product.prodname_github_app %}, puedes crear un token de acceso a la instalación dentro de tu flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el siguiente ejemplo, reemplaza `APP_ID` con el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulta la sección "[Apps](/rest/apps/apps#get-an-app)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluyendo `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`.) En el siguiente ejemplo, reemplaza a `APP_PEM` con el nombre del secreto. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y utilizarlo en vez de `GITHUB_TOKEN`. Nota que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +## Comenzar a utilizar JavaScript + +Puedes utilizar Octokit.js para interactuar con la API de REST de {% data variables.product.prodname_dotcom %} en tus scripts de JavaScript. Para obtener más información, consulta [el README de Octokit.js](https://github.com/octokit/octokit.js/#readme). + +### Utilizar Octokit.js + +1. Crear un token de acceso. Por ejemplo, crea un token de acceso personal (PAT) o un token de acceso de usuario a servidor de {% data variables.product.prodname_github_app %}. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Advertencia**: Trata a tu token de acceso como si fuera una contraseña. + + Para mantener seguro a tu token, puedes almacenarlo como un secreto y ejecutar tu script mediante {% data variables.product.prodname_actions %}. For more information, see the "[Using Octokit.js in {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)" section. + + {%- ifversion fpt or ghec %} + + You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los secretos cifrados para tus codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)".{% endif %} + + Si estas opciones no son posibles, considera utilizar otro servicio tal como [el 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) para almacenar tu token de forma segura. + + {% endwarning %} + +1. Install `octokit`. For example, `npm install octokit`. For other ways to install or load `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Import `octokit` in your script. For example, `import { Octokit } from "octokit";`. For other ways to import `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Create an instance of `Octokit` with your token. Replace `YOUR-TOKEN` with your token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Use `octokit.request` to execute your request. Send the HTTP method and path as the first argument. Specify any path, query, and body parameters in an object as the second argument. For example, in the following request the HTTP method is `GET`, the path is `/repos/{owner}/{repo}/issues`, and the parameters are `owner: "octocat"` and `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Using Octokit.js in {% data variables.product.prodname_actions %} + +You can also execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. Para obtener más información, consultala sección "[Sintaxis de flujo de trabajo para GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)". + +{% data variables.product.prodname_dotcom %} recomienda que utilices el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +El siguiente flujo de trabajo de ejemplo: + +1. Verifica el contenido del repositorio +1. Configura a Node.js +1. Instala `octokit` +1. Almacena el valor de `GITHUB_TOKEN` como una variable de ambiente llamada `TOKEN` y ejecuta `.github/actions-scripts/use-the-api.mjs`, que puede acceder a esa variable de ambiente como `process.env.TOKEN` + +Flujo de trabajo de ejemplo: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + 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 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 te estás autenticando con una {% data variables.product.prodname_github_app %}, puedes crear un token de acceso a la instalación dentro de tu flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el siguiente ejemplo, reemplaza `APP_ID` con el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulta la sección "[Apps](/rest/apps/apps#get-an-app)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluyendo `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`.) En el siguiente ejemplo, reemplaza a `APP_PEM` con el nombre del secreto. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y utilizarlo en vez de `GITHUB_TOKEN`. Nota que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Getting started using cURL + +### Using cURL in the command line + +{% note %} + +**Note:** If you want to make API requests from the command line, {% data variables.product.prodname_dotcom %} recommends that you use {% data variables.product.prodname_cli %}, which simplifies authentication and requests. For more information about getting started with the REST API using {% data variables.product.prodname_cli %}, see the {% data variables.product.prodname_cli %} version of this article. + +{% endnote %} + +1. Install cURL if cURL isn't already installed on your machine. To check if cURL is installed, execute `curl --version` in the command line. If the output is information about the cURL version, cURL is installed. If you get a message similar to `command not found: curl`, you need to download and install cURL. Para obtener más información, consulta [la página de descarga del proyecto cURL](https://curl.se/download.html). +1. Crear un token de acceso. Por ejemplo, crea un token de acceso personal (PAT) o un token de acceso de usuario a servidor de {% data variables.product.prodname_github_app %}. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Advertencia**: Trata a tu token de acceso como si fuera una contraseña. + + {%- ifversion fpt or ghec %} + + To keep your token secure, you can store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. Para obtener más información, consulta la sección "[Administrar los secretos cifrados para tus codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)".{% endif %} + + You can also use {% data variables.product.prodname_cli %} instead of cURL. El {% data variables.product.prodname_cli %} se encargará de la autenticación por ti. Para obtener más información, consulta la versión del {% data variables.product.prodname_cli %} de esta página. + + Si estas opciones no son posibles, considera utilizar otro servicio tal como [el 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) para almacenar tu token de forma segura. + + {% endwarning %} + +1. Use the `cURL` command to make your request. Pass your token in an `Authorization` header. Replace `YOUR-TOKEN` with your token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Nota:** {% data reusables.getting-started.bearer-vs-token %} + + {% endnote %} + +### Using cURL in {% data variables.product.prodname_actions %} + +You can also use cURL in your {% data variables.product.prodname_actions %} workflows. + +{% data variables.product.prodname_dotcom %} recomienda que utilices el `GITHUB_TOKEN` integrado en vez de crear un token. Si esto es imposible, almacena tu token como un secreto y reemplaza a `GITHUB_TOKEN` por el nombre de tu secreto en el siguiente ejemplo. Para obtener más información sobre el `GITHUB_TOKEN`, consulta ""[Automatic token authentication](/actions/security-guides/automatic-token-authentication)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +Si te estás autenticando con una {% data variables.product.prodname_github_app %}, puedes crear un token de acceso a la instalación dentro de tu flujo de trabajo: + +1. Almacena la ID de tu {% data variables.product.prodname_github_app %} como un secreto. En el siguiente ejemplo, reemplaza `APP_ID` con el nombre del secreto. Puedes encontrar tu ID de app en la página de ajustes de tu app o mediante la API de la misma. Para obtener más información, consulta la sección "[Apps](/rest/apps/apps#get-an-app)". Para obtener más información sobre los secretos, consulta la sección "[Secretos cifrados](/actions/security-guides/encrypted-secrets)". +1. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluyendo `-----BEGIN RSA PRIVATE KEY-----` y `-----END RSA PRIVATE KEY-----`.) En el siguiente ejemplo, reemplaza a `APP_PEM` con el nombre del secreto. Para obtener más información, consulta la sección "[Autenticarse con {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Agrega un paso para generar un token y utilizarlo en vez de `GITHUB_TOKEN`. Nota que este token expirará después de 60 minutos. Por ejemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Pasos siguientes + +Para obtener una guía más detallada, consulta la sección "[Iniciar con la API de REST](/rest/guides/getting-started-with-the-rest-api)". diff --git a/translations/es-ES/content/rest/rate-limit.md b/translations/es-ES/content/rest/rate-limit.md index b779a8e124..f6f2f8bad1 100644 --- a/translations/es-ES/content/rest/rate-limit.md +++ b/translations/es-ES/content/rest/rate-limit.md @@ -1,6 +1,6 @@ --- title: Limite de tasa -intro: 'With the Rate limit API, you can check the current rate limit status of various REST APIs.' +intro: 'Con la API de límites de tasa, puedes verificar el estado de límite de tasa actual de varias API de REST.' versions: fpt: '*' ghes: '*' @@ -13,7 +13,7 @@ redirect_from: - /rest/reference/rate-limit --- -## About the Rate limit API +## Acerca de la API de límites de tasa La documentación general de la API de REST describe las [reglas de los límites de tasa](/rest/overview/resources-in-the-rest-api#rate-limiting). Puedes revisar tu estado actual de límite de tasa en cualquier momento utilizando la API de Límites de Tasa que se describe a continuación. diff --git a/translations/es-ES/content/rest/releases/releases.md b/translations/es-ES/content/rest/releases/releases.md index 09a0da8dd3..c0b0e14cce 100644 --- a/translations/es-ES/content/rest/releases/releases.md +++ b/translations/es-ES/content/rest/releases/releases.md @@ -1,6 +1,6 @@ --- title: Lanzamientos -intro: 'The Releases API allows you to create, modify, and delete releases and release assets.' +intro: 'La API de lanzamientos te permite crear, modificar y borrar los lanzamientos y activos de lanzamiento.' versions: fpt: '*' ghes: '*' diff --git a/translations/es-ES/content/rest/repos/autolinks.md b/translations/es-ES/content/rest/repos/autolinks.md index 41c8776af2..651b16c462 100644 --- a/translations/es-ES/content/rest/repos/autolinks.md +++ b/translations/es-ES/content/rest/repos/autolinks.md @@ -1,5 +1,5 @@ --- -title: Repository autolinks +title: Autoenlaces de repositorio allowTitleToDifferFromFilename: true shortTitle: Autoenlaces intro: 'Para ayudar a optimizar tu flujo de trabajo, puedes utilizar la API para agregar autoenlaces a los recursos externos como propuestas de JIRA y tickets de Zendesk.' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Repository autolinks API +## Acerca de la API de autoenlaces de repositorio Para obtener más información, consulta la sección "[Configurar los autoenlaces para referenciar recursos externos](/github/administering-a-repository/configuring-autolinks-to-reference-external-resources)". diff --git a/translations/es-ES/content/rest/secret-scanning.md b/translations/es-ES/content/rest/secret-scanning.md index 9d8864449a..2fd9624093 100644 --- a/translations/es-ES/content/rest/secret-scanning.md +++ b/translations/es-ES/content/rest/secret-scanning.md @@ -1,5 +1,5 @@ --- -title: Escaneo de secretos +title: Secret scanning intro: Use the Secret scanning API to retrieve and update secret alerts from a repository. versions: ghes: '*' @@ -16,9 +16,9 @@ redirect_from: ## About the Secret scanning API -La API del {% data variables.product.prodname_secret_scanning %} te permite : +The {% data variables.product.prodname_secret_scanning %} API lets you: -- Enable or disable {% data variables.product.prodname_secret_scanning %}{% ifversion secret-scanning-push-protection %} and push protection{% endif %} for a repository. Para obtener más información, consulta la sección "[Repositorios](/rest/repos/repos#update-a-repository)" y expande la sección de "Propiedades del objeto `security_and_analysis`" en la documentación de la API de REST. +- Enable or disable {% data variables.product.prodname_secret_scanning %}{% ifversion secret-scanning-push-protection %} and push protection{% endif %} for a repository. For more information, see "[Repositories](/rest/repos/repos#update-a-repository)" and expand the "Properties of the `security_and_analysis` object" section in the REST API documentation. - Retrieve and update {% data variables.product.prodname_secret_scanning_GHAS %} alerts from a repository. For further details, see the sections below. -Para obtener más información acerca de las {% data variables.product.prodname_secret_scanning %}, consulta la sección "[Acerca del {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning)". +For more information about {% data variables.product.prodname_secret_scanning %}, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning)." diff --git a/translations/es-ES/content/rest/teams/discussion-comments.md b/translations/es-ES/content/rest/teams/discussion-comments.md index 728a28d1f0..10a4ce9b67 100644 --- a/translations/es-ES/content/rest/teams/discussion-comments.md +++ b/translations/es-ES/content/rest/teams/discussion-comments.md @@ -1,8 +1,8 @@ --- -title: Team discussion comments +title: Comentarios de debates de equipo allowTitleToDifferFromFilename: true shortTitle: Comentarios de debate -intro: 'The team discussion comments API allows you to get, create, edit, and delete discussion comments on a [team discussion](/rest/reference/teams#discussions) post.' +intro: 'La API de comentarios de debate de equipo te permite obtener, crear, editar y borrar comentarios de debates en una publicación de un [debate de equipo](/rest/reference/teams#discussions).' versions: fpt: '*' ghes: '*' @@ -13,7 +13,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Team discussion comments API +## Acerca de la API de comentarios de debates de equipo Cualquier miembro de la [organización](/rest/reference/orgs) del equipo puede crear y leer los comentarios de un debate público. Para obtener más detalles, consulta la sección "[Acerca de los debates de equipo](/organizations/collaborating-with-your-team/about-team-discussions/)". diff --git a/translations/es-ES/content/rest/teams/external-groups.md b/translations/es-ES/content/rest/teams/external-groups.md index a93b9ddc0b..023babf84b 100644 --- a/translations/es-ES/content/rest/teams/external-groups.md +++ b/translations/es-ES/content/rest/teams/external-groups.md @@ -19,7 +19,7 @@ Para utilizar esta API, el usuario autenticado debe ser un mantenedor del equipo **Notas:** -- La API de grupos externos solo se encuentra disponible para aquellas organizaciones que sean parte de una empresa que utilice {% data variables.product.prodname_emus %}. Para obtener más información, consulta la sección "[Acerca de los Usuarios Empresariales Administrados](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)". +- The external groups API is only available for organizations that are part of an enterprise using {% data variables.product.prodname_emus %}. Para obtener más información, consulta la sección "[Acerca de los Usuarios Empresariales Administrados](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)". - Si tu organización utiliza la sincronización de equipos, puedes usar la API de Sincronización de Equipos. Para obtener más información, consulta la "[API de sincronización de equipos](#team-synchronization)". {% endnote %} diff --git a/translations/es-ES/content/rest/teams/team-sync.md b/translations/es-ES/content/rest/teams/team-sync.md index 0e69b0283c..890e8bfc56 100644 --- a/translations/es-ES/content/rest/teams/team-sync.md +++ b/translations/es-ES/content/rest/teams/team-sync.md @@ -1,6 +1,6 @@ --- title: Sincronización de equipos -intro: 'The Team synchronization API allows you to manage connections between {% data variables.product.product_name %} teams and external identity provider (IdP) groups.' +intro: 'La API de sincronización de equipos te permite administrar las conexiones entre los equipos de {% data variables.product.product_name %} y los grupos de proveedores de identidad (IdP) externos.' versions: fpt: '*' ghec: '*' @@ -10,7 +10,7 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the Team synchronization API +## Acerca de la API de sincronización Para utilizar esta API, el usuario autenticado debe ser un mantenedor del equipo o un propietario de la organización asociada con éste. El token que utilizas para autenticarte también necesitará autorizarse para su uso con tu proveedor IdP (SSO). Para obtener más información, consulta la sección "[Autorizar un token de acceso personal para su uso con una organización que tiene inicio de sesión único de SAML](/enterprise-cloud@latest/authentication/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)". diff --git a/translations/es-ES/content/rest/teams/teams.md b/translations/es-ES/content/rest/teams/teams.md index e86f3a7da3..0336191421 100644 --- a/translations/es-ES/content/rest/teams/teams.md +++ b/translations/es-ES/content/rest/teams/teams.md @@ -1,6 +1,6 @@ --- title: Equipos -intro: 'With the Teams API, you can create and manage teams in your GitHub organization.' +intro: 'Con la API de equipos, puedes crear y administrar equipos en tu organización de GitHub.' versions: fpt: '*' ghes: '*' @@ -11,6 +11,6 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Teams API +## Acerca de la API de equipos {% data reusables.organizations.team-api %} diff --git a/translations/es-ES/content/rest/users/gpg-keys.md b/translations/es-ES/content/rest/users/gpg-keys.md index b768a456ae..1c71c096f3 100644 --- a/translations/es-ES/content/rest/users/gpg-keys.md +++ b/translations/es-ES/content/rest/users/gpg-keys.md @@ -1,5 +1,5 @@ --- -title: GPG Keys +title: Llaves GPG intro: '' versions: fpt: '*' @@ -11,7 +11,7 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the User GPG keys API +## Acerca de la API de llaves GPG de usuario Los datos que se devuelven en el campo de respuesta de `public_key` no son una llave con formato de GPG. Cuando un usuario carga una llave GPG, se interpreta y la llave pública criptográfica se extrae y se almacena. Esta llave criptográfica es lo que devuelven las API en esta página. Esta llave no es apta para utilizarse directamente con programas como GPG. diff --git a/translations/es-ES/content/rest/users/index.md b/translations/es-ES/content/rest/users/index.md index 0b7ddad6f2..ea53a69bde 100644 --- a/translations/es-ES/content/rest/users/index.md +++ b/translations/es-ES/content/rest/users/index.md @@ -19,5 +19,6 @@ children: - /followers - /gpg-keys - /keys + - /ssh-signing-keys --- diff --git a/translations/es-ES/content/rest/users/keys.md b/translations/es-ES/content/rest/users/keys.md index 45b91e5947..8c46a7889f 100644 --- a/translations/es-ES/content/rest/users/keys.md +++ b/translations/es-ES/content/rest/users/keys.md @@ -1,5 +1,5 @@ --- -title: Git SSH Keys +title: Llaves SSH de Git intro: '' versions: fpt: '*' @@ -12,6 +12,6 @@ miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true --- -## About the User Git SSH keys API +## Acerca de la API de llaves SSH de usuario de Git {% data reusables.user-settings.user-api %} diff --git a/translations/es-ES/content/rest/users/ssh-signing-keys.md b/translations/es-ES/content/rest/users/ssh-signing-keys.md new file mode 100644 index 0000000000..33f57a4278 --- /dev/null +++ b/translations/es-ES/content/rest/users/ssh-signing-keys.md @@ -0,0 +1,13 @@ +--- +title: SSH signing keys +intro: '' +versions: + fpt: '*' + ghes: '>=3.7' + ghec: '*' +topics: + - API +miniTocMaxHeadingLevel: 3 +allowTitleToDifferFromFilename: true +--- + diff --git a/translations/es-ES/content/rest/webhooks/index.md b/translations/es-ES/content/rest/webhooks/index.md index 939090a9ea..9ce89decaa 100644 --- a/translations/es-ES/content/rest/webhooks/index.md +++ b/translations/es-ES/content/rest/webhooks/index.md @@ -70,9 +70,9 @@ Las solicitudes de PubSubHubbub pueden enviarse varias veces. Si el gancho ya ex #### Parámetros -| Nombre | Tipo | Descripción | -| -------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `hub.mode` | `secuencia` | **Requerido**. Ya sea `subscribe` o `unsubscribe`. | -| `hub.topic` | `secuencia` | **Requerido**. La URI del repositorio de GitHub al cual suscribirse. La ruta debe estar en el formato `/{owner}/{repo}/events/{event}`. | -| `hub.callback` | `secuencia` | La URI para recibir las actualizaciones del tema. | -| `hub.secret` | `secuencia` | Una llave de secreto compartido que genera una firma de hash del contenido saliente del cuerpo. You can verify a push came from GitHub by comparing the raw request body with the contents of the {% ifversion fpt or ghes or ghec %}`X-Hub-Signature` or `X-Hub-Signature-256` headers{% elsif ghae %}`X-Hub-Signature-256` header{% endif %}. Puedes ver [la documentación de PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) para obtener más detalles. | +| Nombre | Tipo | Descripción | +| -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `hub.mode` | `secuencia` | **Requerido**. Ya sea `subscribe` o `unsubscribe`. | +| `hub.topic` | `secuencia` | **Requerido**. La URI del repositorio de GitHub al cual suscribirse. La ruta debe estar en el formato `/{owner}/{repo}/events/{event}`. | +| `hub.callback` | `secuencia` | La URI para recibir las actualizaciones del tema. | +| `hub.secret` | `secuencia` | Una llave de secreto compartido que genera una firma de hash del contenido saliente del cuerpo. Puedes verificar si una subida de información vino de GitHub cuando comparas el cuerpo de la solicitud sin procesar con el contenido de {% ifversion fpt or ghes or ghec %} los encabezados `X-Hub-Signature` o `X-Hub-Signature-256`{% elsif ghae %}`X-Hub-Signature-256` header{% endif %}. Puedes ver [la documentación de PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) para obtener más detalles. | diff --git a/translations/es-ES/content/rest/webhooks/repo-config.md b/translations/es-ES/content/rest/webhooks/repo-config.md index 889e95cdb8..00cd82c410 100644 --- a/translations/es-ES/content/rest/webhooks/repo-config.md +++ b/translations/es-ES/content/rest/webhooks/repo-config.md @@ -1,5 +1,5 @@ --- -title: Repository Webhook Configuration +title: Configuración de webhook de repositorio intro: '' versions: fpt: '*' diff --git a/translations/es-ES/content/rest/webhooks/repos.md b/translations/es-ES/content/rest/webhooks/repos.md index 55bc892fc3..c53356342f 100644 --- a/translations/es-ES/content/rest/webhooks/repos.md +++ b/translations/es-ES/content/rest/webhooks/repos.md @@ -1,5 +1,5 @@ --- -title: Repository Webhooks +title: Webhooks de repositorio intro: '' versions: fpt: '*' diff --git a/translations/es-ES/content/site-policy/github-terms/github-community-code-of-conduct.md b/translations/es-ES/content/site-policy/github-terms/github-community-code-of-conduct.md index 75c2b26d17..ffdf5505f0 100644 --- a/translations/es-ES/content/site-policy/github-terms/github-community-code-of-conduct.md +++ b/translations/es-ES/content/site-policy/github-terms/github-community-code-of-conduct.md @@ -16,7 +16,7 @@ topics: Millones de desarrolladores en todo el mundo hospedan millones de proyectos, tanto de código propietario como de código libre, en GitHub. Somo afortunados de poder tomar parte en habilitar la colaboración a lo largo de la comunidad de desarrolladores cada día, lo cual es una responsabilidad que no nos tomamos a la ligera. Juntos, tenemos la emocionante oportunidad de hacer de esta una comunidad de la cual podamos estar orgullosos. -GitHub Community, powered by GitHub Discussions, is intended to be a place for further collaboration, support, and brainstorming. Este es un lugar civilizado para conectarse con otros usuarios, aprender nuevas habilidades, compartir comentarios e ideas y encontrar todo el apoyo que necesitas para tus proyectos de GitHub. By participating in GitHub Community, you are agreeing to the same [Terms of Service](/github/site-policy/github-terms-of-service/) and [GitHub Acceptable Use Policies](/github/site-policy/github-acceptable-use-policies) that apply to GitHub.com, as well as this GitHub Community-specific Code of Conduct. +GitHub Community, powered by GitHub Discussions, is intended to be a place for further collaboration, support, and brainstorming. Este es un lugar civilizado para conectarse con otros usuarios, aprender nuevas habilidades, compartir comentarios e ideas y encontrar todo el apoyo que necesitas para tus proyectos de GitHub. Si participas en la Comunidad de GitHub, estás de acuerdo con los mismos [Términos de servicio](/github/site-policy/github-terms-of-service/) y [Políticas de uso aceptable de GitHub](/github/site-policy/github-acceptable-use-policies) que aplican a GitHub.com, así como este Código de Conducta específico de la Comunidad de GitHub. With this Code of Conduct, we hope to help you understand how best to collaborate in GitHub Community, what you can expect from moderators, and what type of actions or content may result in temporary or permanent suspension from community participation. We will investigate any abuse reports and may moderate public content within GitHub Community that we determine to be in violation of either the GitHub Terms of Service or this Code of Conduct. diff --git a/translations/es-ES/content/site-policy/privacy-policies/github-privacy-statement.md b/translations/es-ES/content/site-policy/privacy-policies/github-privacy-statement.md index bad3f3d933..3a6910d827 100644 --- a/translations/es-ES/content/site-policy/privacy-policies/github-privacy-statement.md +++ b/translations/es-ES/content/site-policy/privacy-policies/github-privacy-statement.md @@ -15,7 +15,7 @@ topics: - Legal --- -Fecha de entrada en vigor: 31 de mayo de 2022 +Effective date: September 1, 2022 Gracias por confiarle tu código fuente, tus proyectos y tus datos personales a GitHub Inc. o a GitHub B.V. ("GitHub", "nosotros", "de nosotros" o "nuestro"). Esta Declaración de Privacidad explica nuestras prácticas con respecto a la recopilación, el uso y la divulgación de tus datos, incluyendo cualquier dato personal que recolectemos y procesemos en conexión con nuestro sitio web y cualquier aplicación, software, producto y servicio que proporcione GitHub, incluyendo cualquier Vistas Previas Beta (en conjunto "El Servicio"). @@ -25,28 +25,28 @@ Todos los términos en mayúsculas tienen su definición en las [Condiciones de ## La versión corta -Utilizamos tu información personal como lo describe la presente Declaración de Privacidad. Sin importar quién seas, dónde vives, o cuál sea tu nacionalidad, proporcionames el mismo estándar alto de protección de la privacidad a todos nuestros usuarios en el mundo, sin importar su país de orígen o su ubicación. +Utilizamos tu información personal como lo describe la presente Declaración de Privacidad. No matter where you are, where you live, or what your citizenship is, you have the same high standard of privacy protection when using GitHub's products as all our users around the world, regardless of their country of origin or location. Para ver nuestro Aviso de Privacidad para los residentes de California, refiérete al [Aviso de GitHub sobre la Ley de Privacidad del Consumidor en California](#githubs-notice-to-california-residents) o desplázate hacia abajo. ## Resumen -| Sección | ¿Qué puedes encontrar allí? | -| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Quién es responsable del procesamiento de tu información](#who-is-responsible-for-the-processing-of-your-information) | Sujeto a excepciones limitadas, GitHub es el controlador y entidad responsable de procesar tus datos personales en conexión con el sitio web o servicio. | -| [Qué información recopila GitHub](#what-information-github-collects) | GitHub recopila información directamente a partir de tu registro, tus pagos, tus transacciones y del perfil del usuario. También, cuando es necesario, recopilamos automáticamente información de tu uso, cookies e información de dispositivo sujetos, cuando sea necesario, a tu consentimiento. GitHub también podría recopilar datos personales de terceros. Solo recopilamos la cantidad mínima de datos personales tuyos necesaria, a menos de que elijas proporcionar más. | -| [Cómo utiliza GitHub tu información](#how-github-uses-your-information) | En esta sección, describimos las formas en las que utilizamos tu información, incluyendo para proporcionarte el Servicio, para comunicarnos contigo, para propósitos de cumplimiento y seguridad y para mejorar nuestro sitio web o servicio o para desarrollar características y funcionalidades nuevas para estos. También describimos la base legal sobre la cual procesamos tu información personal, cuando se exige legalmente. | -| [Cómo compartimos la información que recopilamos](#how-we-share-the-information-we-collect) | Puede que compartamos tu información con terceros en una de las siguientes circunstancias: con tu consentimiento, con nuestros proveedores de servicio, por motivos de seguridad, para cumplir con nuestras obligaciones legales o cuando exista un cambio de control o venta de las entidades corporativas o unidades de negocios. En GitHub, no vendemos tu información personal y no alojamos publicidad. | -| [Tus elecciones con respecto a nuestro procesamiento de tus datos personales](#your-choices-regarding-our-processing-of-your-personal-data) | Proporcionamos formas para que accedas, modifiques o elimines tu información personal. | -| [Cookies](#cookies) | Solo utilizamos las cookies estrictamente necesarias para proporcionar, asegurar y mejorar nuestro sitio web o servicio para desarrollar características y funcionalidades nuevas de nuestro sitio web o servicio. Ofrecemos una página que hace que esto sea muy transparente. No enviamos ningún tipo de información a servicios de analítica terceros. | -| [Cómo asegura GiitHub tu información](#how-github-secures-your-information) | Tomamos todas las medidas razonables necesarias para proteger la confidencialidad, integridad y disponibilidad de tus datos personales en GitHub y para proteger la resiliencia de nuestros servidores. | -| [Preferencias de comunicación](#communication-preferences) | Nos comunicamos contigo por correo electrónico. Puedes controlar la manera en que te contactamos en las configuraciones de la cuenta o poniéndote en contacto con nosotros. | -| [Resolver reclamos](#resolving-complaints) | En el caso improbable de que no podamos resolver una inquietud sobre la privacidad de forma rápida y exhaustiva, proporcionaremos un medio de resolución por medio de una disputa. | -| [Cambios en tu Declaración de privacidad](#changes-to-our-privacy-statement) | Te notificamos los cambios importantes en esta Declaración de privacidad 30 días antes de que cualquier cambio entre en vigencia. Puedes rastrear los cambios en nuestro repositorio de Políticas del sitio. | -| [Licencia](#license) | La presente Declaración de privacidad está autorizada por la [licencia Creative Commons Zero](https://creativecommons.org/publicdomain/zero/1.0/). | -| [Contactarse con GitHub](#contacting-github) | Siéntete libre de contactarnos si tienes preguntas acerca de nuestra Declaración de privacidad. | -| [Traducciones](#translations) | Proporcionamos enlaces a algunas traducciones de la Declaración de privacidad. | +| Sección | ¿Qué puedes encontrar allí? | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Quién es responsable del procesamiento de tu información](#who-is-responsible-for-the-processing-of-your-information) | Subject to limited exceptions, GitHub is the controller and entity responsible for the processing of your personal data in connection with the Website or Service if you are in North America. For individuals outside North America the data controller is GitHub B.V. | +| [Qué información recopila GitHub](#what-information-github-collects) | GitHub recopila información directamente a partir de tu registro, tus pagos, tus transacciones y del perfil del usuario. También, cuando es necesario, recopilamos automáticamente información de tu uso, cookies e información de dispositivo sujetos, cuando sea necesario, a tu consentimiento. GitHub también podría recopilar datos personales de terceros. Solo recopilamos la cantidad mínima de datos personales tuyos necesaria, a menos de que elijas proporcionar más. | +| [Cómo utiliza GitHub tu información](#how-github-uses-your-information) | En esta sección, describimos las formas en las que utilizamos tu información, incluyendo para proporcionarte el Servicio, para comunicarnos contigo, para propósitos de cumplimiento y seguridad y para mejorar nuestro sitio web o servicio o para desarrollar características y funcionalidades nuevas para estos. También describimos la base legal sobre la cual procesamos tu información personal, cuando se exige legalmente. | +| [Cómo compartimos la información que recopilamos](#how-we-share-the-information-we-collect) | Puede que compartamos tu información con terceros en una de las siguientes circunstancias: con tu consentimiento, con nuestros proveedores de servicio, por motivos de seguridad, para cumplir con nuestras obligaciones legales o cuando exista un cambio de control o venta de las entidades corporativas o unidades de negocios. En GitHub, no vendemos tu información personal y no alojamos publicidad. | +| [Tus elecciones con respecto a nuestro procesamiento de tus datos personales](#your-choices-regarding-our-processing-of-your-personal-data) | Proporcionamos formas para que accedas, modifiques o elimines tu información personal. | +| [Cookies](#cookies) | Except for cookies used on our Enterprise Marketing Pages, we only use strictly necessary cookies to provide, secure, and improve our Website or Service or develop new features and functionality of our Website or Service.

As described below, we may use non-essential cookies on certain pages of our website to support our enterprise marketing efforts and market our products and services to enterprise customers, for example on resources.github.com (collectively “Enterprise Marketing Pages”).

We offer a [page](https://github.com/privacy/cookies) that makes all uses of cookies very transparent. | +| [Cómo asegura GiitHub tu información](#how-github-secures-your-information) | Tomamos todas las medidas razonables necesarias para proteger la confidencialidad, integridad y disponibilidad de tus datos personales en GitHub y para proteger la resiliencia de nuestros servidores. | +| [Preferencias de comunicación](#communication-preferences) | Nos comunicamos contigo por correo electrónico. Puedes controlar la manera en que te contactamos en las configuraciones de la cuenta o poniéndote en contacto con nosotros. | +| [Resolver reclamos](#resolving-complaints) | En el caso improbable de que no podamos resolver una inquietud sobre la privacidad de forma rápida y exhaustiva, proporcionaremos un medio de resolución por medio de una disputa. | +| [Cambios en tu Declaración de privacidad](#changes-to-our-privacy-statement) | Te notificamos los cambios importantes en esta Declaración de privacidad 30 días antes de que cualquier cambio entre en vigencia. Puedes rastrear los cambios en nuestro repositorio de Políticas del sitio. | +| [Licencia](#license) | La presente Declaración de privacidad está autorizada por la [licencia Creative Commons Zero](https://creativecommons.org/publicdomain/zero/1.0/). | +| [Contactarse con GitHub](#contacting-github) | Siéntete libre de contactarnos si tienes preguntas acerca de nuestra Declaración de privacidad. | +| [Traducciones](#translations) | Proporcionamos enlaces a algunas traducciones de la Declaración de privacidad. | ## Declaración de Privacidad de GitHub @@ -122,13 +122,14 @@ Podríamos utilizar tu información para proporcionar, administrar, analizar, ad - La personalización de nuestro servicio al entender tus preferencias y a ti mismo para mejorar tu experiencia y disfrute de nuestro servicio. - Proporcionar soporte al cliente y responder tus preguntas. - Entregarte comunicaciones promocionales sobre nuestros nuevos servicios, características, ofertas, promociones y otra información sobre nuestro servicio. +- Personalize and measure the effectiveness of enterprise business ads, promotional communications or marketing you receive related to the Enterprise Marketing Pages. - Enviarte información, incluyendo las confirmaciones, facturas, avisos técnicos, actualizaciones alertas de seguridad, soporte y mensajes administrativos. Combinamos los datos que recopilamos de diversas fuentes para estos propósitos y para darte una experiencia personalizad, consistente y más consistente. ## Cómo compartimos la información que recopilamos -Compartimos los datos personales con tu consentimiento o conforme sea necesario para completar tus transacciones o proporcionar los servicios que has solicitado o autorizado. Adicionalmente, podríamos compartir cada una de las categorías de tus datos personales descritas anteriormente con los tipos de terceros que se describen a continuación para los siguientes propósitos de negocios: +We share personal data as described below, including with your consent or as necessary to complete your transactions or provide the services you have requested or authorized. In addition, we may share each of the categories of your personal data described above with the types of third parties described below for the following business purposes: ### Información pública Puedes seleccionar las opciones disponibles a través de nuestro servicio para mostrar y compartir públicamente tu nombre o nombre de usuario y otra información específica, tal como tu perfil, datos, contenido y archivos demográficos o datos de ubicación geográfica. Por ejemplo, si quisieras que tu dirección de correo electrónico permanezca privada, incluso cuando estás comentando en repositorios públicos, [puedes configurar los ajustes de tu dirección de correo electrónico en tu perfil de usuario como privados](https://github.com/settings/emails). También puedes [actualizar tu configuración local de Git para utilizar tu dirección de correo electrónico privada](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address). Por favor, consulta la información adicional sobre las direcciones de correo electrónico en los mensajes de confirmación [aquí](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address). @@ -144,9 +145,9 @@ Puedes habilitar o agregar aplicaciones de terceros, conocidas como "Productos d Puedes indicar, a través de tus acciones en GitHub, que quieres compartir tus datos personales. Si colaboras o te conviertes en miembro de una organización, entonces tus propietarios de cuenta podrían recibir tus datos personales. Cuando aceptas una invitación a una organización, se te notificará sobre los tipos de información que los propietarios pueden ver (para obtener más información, consulta la sección [Acerca de la membresía de la organización](/github/setting-up-and-managing-your-github-user-account/about-organization-membership)). Contacta a los propietarios de cuenta para obtener más información sobre cómo podrían procesar tus datos personales en su organización y las formas en las que puedes acceder, actualizar, alterar o borrar dichos datos personales almacenados en la cuenta. ### Proveedores de servicios -Compartimos tus datos personales con los proveedores de servicio que procesan la información en nuestro nombre para proporcionar o mejorar nuestro servicio. Por ejemplo, nuestros proveedores de servicios podrían realizar el procesamiento de pagos, tickets de soporte de cliente, transmisión de datos de red, seguridad y otros servicios similares. Si bien GitHub procesa todos los datos personales en los Estados Unidos, nuestros proveedores de servicio podrían procesarlos fuera de los Estados Unidos o de la Unión Europea. Dicho procesamiento por parte de los proveedores de servicios cumplirá con las leyes aplicables, incluyendo cualquier mecanismo de transferencia. +Compartimos tus datos personales con los proveedores de servicio que procesan la información en nuestro nombre para proporcionar o mejorar nuestro servicio. For example, our service providers may perform payment processing, customer support ticketing, network data transmission, web analytics, marketing operations, security, and other similar services. Si bien GitHub procesa todos los datos personales en los Estados Unidos, nuestros proveedores de servicio podrían procesarlos fuera de los Estados Unidos o de la Unión Europea. Dicho procesamiento por parte de los proveedores de servicios cumplirá con las leyes aplicables, incluyendo cualquier mecanismo de transferencia. - ### Afiliados Habilitamos el acceso a los datos personales a lo largo de nuestras sucursales, afiliados y empresas relacionadas, por ejemplo, en donde compartimos sistemas de datos comunes o donde se requiere acceso para operar y proporcionar el servicio. + ### Affiliates We enable access to personal data across our subsidiaries, affiliates, and related companies, for example, where we share common data systems, when affiliates provide services on our behalf, or where access is needed to operate and provide the Service. ### Con fines de seguridad Divulgaremos datos personales si creemos que esto es necesario para: @@ -171,7 +172,7 @@ Nosotros *no* vendemos tus datos personales por consideraciones monetarias u otr ## Tus elecciones con respecto a nuestro procesamiento de tus datos personales Proporcionamos elecciones sobre los datos personales que recopilamos de ti. Las elecciones que hagas no aplicarán a los datos personales asociados con una organización bajo tu cuenta. -Acceso, corrección y borrado. Si eres un usuario de GitHub, podrías acceder, actualizar, alterar o borrar tu información básica de perfil de usuario al [editar tu perfil](https://github.com/settings/profile) o contactar al [Soporte de GitHub](https://support.github.com/contact) o al [Soporte Premium de GitHub](https://enterprise.githubsupport.com/hc/en-us). Puedes controlar la información que recopilamos acerca de ti limitando la información que contiene tu perfil, manteniendo tu información actual, o poniéndote en contacto con [GitHub Support](https://support.github.com/contact) o [GitHub Premium Support](https://enterprise.githubsupport.com/hc/en-us). +Acceso, corrección y borrado. Si eres un usuario de GitHub, podrías acceder, actualizar, alterar o borrar tu información básica de perfil de usuario al [editar tu perfil](https://github.com/settings/profile) o contactar al [Soporte de GitHub](https://support.github.com/contact) o al [Soporte Premium de GitHub](https://enterprise.githubsupport.com/hc/en-us). You can control the information we collect about you by limiting what information is in your profile, by keeping your information current, by changing your cookie preferences, or by contacting [GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://enterprise.githubsupport.com/hc/en-us). Retenemos y utilizamos tu información tal como se describe en esta declaración de privacidad pero, salvo los requisitos legales, borraremos tu perfil completo después de que hayan transcurrido 90 días desde tu solicitud. Después de que una cuenta se ha eliminado, ciertos datos, tales como contribuciones a los repositorios de otros usuarios y comentarios en asuntos ajenos, permanecerán. Sin embargo, borraremos o desidentificaremos tus datos personales, incluyendo tu nombre de usuario y dirección de correo electrónico, en el campo de autor de las propuestas, solicitudes de cambio y comentarios y los asociaremos con un usuario fantasma. Dicho esto, la dirección de correo electrónico que proporcionaste a través de tus ajustes para confirmaciones de Git siempre se asociarán con tus confirmaciones en el sistema de Git. Si eliges hacer tu dirección de correo electrónico privada, también deberías actualizar la configuración de tu confirmación de cambios de Git. No podemos cambiar o eliminar datos en el historial de confirmación de Git (el software de Git está diseñado para mantener un registro) pero te permitimos controlar qué información pones en ese registro. @@ -208,13 +209,65 @@ Dependemos da diversas bases legales para recopilar y procesar datos personales ### Cookies y tecnologías de rastreo -GitHub utiliza cookies para proporcionar, asegurar y mejorar nuestro Servicio o para desarrollar características y funcionalidades nuevas del mismo. Por ejemplo, las utilizamos para mantenerte en tu sesión, recordar tus preferencias, identificar tu dispositivo para propósitos de seguridad, compilar reportes estadísticos y proporcionar información sobre el desarrollo futuro de GitHub. Utilizamos nuestras propias cookies y no usamos ningún proveedor de servicios tercero en este contexto. Si inhabilitas la capacidad de tu dispositivo o buscador para aceptar estas cookies, no podrás iniciar sesión ni utilizar nuestro servicio. Proporcionamos más información acerca de las [cookies en GitHub](/github/site-policy/github-subprocessors-and-cookies#cookies-on-github) en nuestra página de [Subprocesadores y cookies de GitHub](/github/site-policy/github-subprocessors-and-cookies), en la cual se describen las cookies que configuramos, las necesidades que tenemos para utilizarlas, y la vigencia de las mismas. +GitHub uses cookies to provide, secure and improve our Service or to develop new features and functionality of our Service. For example, we use them to (i) keep you logged in, (ii) remember your preferences, (iii) identify your device for security and fraud purposes, including as needed to maintain the integrity of our Service, (iv) compile statistical reports, and (v) provide information and insight for future development of GitHub. We provide more information about [cookies on GitHub](https://github.com/privacy/cookies) that describes the cookies we set, the needs we have for those cookies, and the expiration of such cookies. + +For Enterprise Marketing Pages, we may also use non-essential cookies to (i) gather information about enterprise users’ interests and online activities to personalize their experiences, including by making the ads, content, recommendations, and marketing seen or received more relevant and (ii) serve and measure the effectiveness of targeted advertising and other marketing efforts. If you disable the non-essential cookies on the Enterprise Marketing Pages, the ads, content, and marketing you see may be less relevant. Nuestros correos electrónicos a los usuarios podrían contener una etiqueta de pixel, que es una imagen clara y pequeña que nos puede decir si abriste un correo electrónico o no y cuál es tu dirección IP. Utilizamos esta etiqueta de pixel para hacer nuestras comunicaciones por correo electrónico más efectivas y para asegurarnos de que no estemos enviando correo no deseado. -### DNT +The length of time a cookie will stay on your browser or device depends on whether it is a “persistent” or “session” cookie. Session cookies will only stay on your device until you stop browsing. Persistent cookies stay until they expire or are deleted. The expiration time or retention period applicable to persistent cookies depends on the purpose of the cookie collection and tool used. You may be able to delete cookie data as described here. + +#### What are cookies and similar technologies? + +We use cookies and similar technologies, such as web beacons, local storage, and mobile analytics, to operate and provide our Services. When visiting Enterprise Marketing Pages, like resources.github.com, these and additional cookies, like advertising IDs, may be used for sales and marketing purposes. + +Cookies are small text files stored by your browser on your device. A cookie can later be read when your browser connects to a web server in the same domain that placed the cookie. The text in a cookie contains a string of numbers and letters that may uniquely identify your device and can contain other information as well. This allows the web server to recognize your browser over time, each time it connects to that web server. + +Web beacons are electronic images (also called “single-pixel” or “clear GIFs”) that are contained within a website or email. When your browser opens a webpage or email that contains a web beacon, it automatically connects to the web server that hosts the image (typically operated by a third party). This allows that web server to log information about your device and to set and read its own cookies. In the same way, third-party content on our websites (such as embedded videos, plug-ins, or ads) results in your browser connecting to the third-party web server that hosts that content. + +Mobile identifiers for analytics can be accessed and used by apps on mobile devices in much the same way that websites access and use cookies. When visiting Enterprise Marketing pages, like resources.github.com, on a mobile device these may allow us and our third-party analytics and advertising partners to collect data for sales and marketing purposes. + +We may also use so-called “flash cookies” (also known as “Local Shared Objects” or “LSOs”) to collect and store information about your use of our Services. Flash cookies are commonly used for advertisements and videos. + +#### How do we and our partners use cookies and similar technologies? + +The GitHub Services use cookies and similar technologies for a variety of purposes, including to store your preferences and settings, enable you to sign-in, analyze how our Services perform, track your interaction with the Services, develop inferences, combat fraud, and fulfill other legitimate purposes. Some of these cookies and technologies may be provided by third parties, including service providers and advertising partners. For example, our analytics and advertising partners may use these technologies in our Services to collect personal information (such as the pages you visit, the links you click on, and similar usage information, identifiers, and device information) related to your online activities over time and across Services for various purposes, including targeted advertising. GitHub will place non-essential cookies on pages where we market products and services to enterprise customers, for example, on resources.github.com. + +We and/or our partners also share the information we collect or infer with third parties for these purposes. + +The table below provides additional information about how we use different types of cookies: + +| Propósito | Descripción | +|:---------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Required Cookies | GitHub uses required cookies to perform essential website functions and to provide the services. For example, cookies are used to log you in, save your language preferences, provide a shopping cart experience, improve performance, route traffic between web servers, detect the size of your screen, determine page load times, improve user experience, and for audience measurement. These cookies are necessary for our websites to work. | +| Analítica | We allow third parties to use analytics cookies to understand how you use our websites so we can make them better. For example, cookies are used to gather information about the pages you visit and how many clicks you need to accomplish a task. We also use some analytics cookies to provide personalized advertising. | +| Social Media | GitHub and third parties use social media cookies to show you ads and content based on your social media profiles and activity on GitHub’s websites. This ensures that the ads and content you see on our websites and on social media will better reflect your interests. This also enables third parties to develop and improve their products, which they may use on websites that are not owned or operated by GitHub. | +| Advertising | In addition, GitHub and third parties use advertising cookies to show you new ads based on ads you've already seen. Cookies also track which ads you click or purchases you make after clicking an ad. This is done both for payment purposes and to show you ads that are more relevant to you. For example, cookies are used to detect when you click an ad and to show you ads based on your social media interests and website browsing history. | + +#### What are your cookie choices and controls? + + You have several options to disable non-essential cookies: + + 1. **Specifically on GitHub Enterprise Marketing Pages** + + Any GitHub page that serves non-essential cookies will have a link in the page’s footer to cookie settings. You can express your preferences at any time by clicking on that linking and updating your settings. + + Some users will also be able to manage non-essential cookies via a cookie consent banner, including the options to accept, manage, and reject all non-essential cookies. + 2. **Generally for all websites** + + You can control the cookies you encounter on the web using a variety of widely-available tools. Por ejemplo: + - If your browser sends a [Do Not Track](https://en.wikipedia.org/wiki/Do_Not_Track) (DNT) signal, GitHub will not set non-essential cookies and will not load third party resources which set non-essential cookies. + - Many browsers provide cookie controls which may limit the types of cookies you encounter online. Check out the documentation for your browser to learn more. + - If you enable a browser extension designed to block tracking, such as [Privacy Badger](https://en.wikipedia.org/wiki/Privacy_Badger), non-essential cookies set by a website or third parties may be disabled. + - If you enable a browser extension designed to block unwanted content, such as [uBlock Origin](https://en.wikipedia.org/wiki/UBlock_Origin), non-essential cookies will be disabled to the extent that content that sets non-essential cookies will be blocked. + - Advertising controls. Our advertising partners may participate in associations that provide simple ways to opt out of ad targeting, which you can access at: + - United States: [NAI](http://optout.networkadvertising.org) and [DAA](http://optout.aboutads.info/) + - Canada: [Digital Advertising Alliance of Canada](https://youradchoices.ca/) + - Europe: [European Digital Advertising Alliance](http://www.youronlinechoices.com/) + + These choices are specific to the browser you are using. If you access our Services from other devices or browsers, take these actions from those systems to ensure your choices apply to the data collected when you use those systems. + -"[No Rastrear](https://www.eff.org/issues/do-not-track)" (DNT, por sus siglas en inglés) es una preferencia de privacidad que puedes configurar en tu buscador si no quieres que los servicios en línea recolecten y compartan ciertos tipos de información acerca de tu actividad en línea desde los servicios de rastreo de terceros. GitHub responde a las señales DNT del navegador y sigue el estándar [W3C para responder a las señales DNT](https://www.w3.org/TR/tracking-dnt/). Si deseas configurar tu navegador para que indique que no deseas que se rastree, revisa la documentación de tu navegador acerca de cómo habilitar esa señal. También hay buenas aplicaciones que bloquean el rastro en línea, como [Privacy Badger](https://privacybadger.org/). ## Retención de datos personales Retenemos datos personales por tanto como sea necesario para proporcionar los servicios y llevar a cabo las transacciones que hayas solicitad, para cumplir con nuestras obligaciones legales, resolver disputas, hacer valer nuestros acuerdos y otros propósitos de negocio legales y legítimos. Ya que estas necesidades pueden variar para los diferentes tipos de datos en el contexto de diferentes servicios, los periodos de retención reales pueden variar significativamente con base en los criterios tales como las expectativas o el consentimiento de los usuarios, la sensibilidad de los datos y la disponibilidad de los controles automáticos que permiten que los usuarios borren datos y nuestras obligaciones contractuales. Por ejemplo, podríamos retener tus datos personales por periodos más largos, cuando fuese necesario, sujeto a la ley aplicable y por propósitos de seguridad. @@ -232,21 +285,17 @@ Adicionalmente, si tu cuenta tiene repositorios privados, controlas el acceso a GitHub proporcionará un aviso con respecto al acceso al repositorio privado cuando la ley no lo prohíba y como respuesta a las amenazas de seguridad u otros riesgos a esta. -### Transferencias de datos transfronterizas +### Cross-border data transfers GitHub procesa datos personales tanto dentro como fuera de los Estados Unidos y depende de los mecanismos legales tales como las Cláusulas Contractuales Estándar para transferir legalmente los datos desde el Área Económica Europea y el Reino Unido y Suiza hacia los Estados Unidos. Puedes solicitar una copia de las Cláusulas Contractuales Estándar utilizando los detalles de contacto que se proporcionan en la sección denominada "Contactar a GitHub" a continuación. ### Resolver reclamos Si tienes inquietudes sobre la forma en que GitHub maneja tus datos personales, por favor, déjanos saberlo de inmediato. Queremos ayudar. Puedes ponerte en contacto con nosotros completando el [Formulario de contacto de privacidad](https://support.github.com/contact/privacy). También puedes contactarnos directamente enviando un mensaje por correo electrónico a **(privacy [at] github [dot] com)** con el título "Privacy Concerns". Responderemos rápidamente, dentro de los 45 días a más tardar. -También puedes ponerte en contacto directamente con nuestro Responsable de Protección de Datos. +You may also contact our Data Protection Officer directly at at **github [at]dp-officer [dot] com** -| Nuestra casa central de los Estados Unidos | Nuestra oficina de la UE | -| ------------------------------------------ | --------------------------------- | -| Oficial de Protección de Datos de GitHub | GitHub BV | -| 88 Colin P. Kelly Jr. St. | Vijzelstraat 68-72 | -| San Francisco, CA 94107 | 1017 HL Amsterdam | -| Estados Unidos | Países Bajos | -| **privacy [at] github [dot] com** | **privacy [at] github [dot] com** | +**If you are in North America:**
GitHub Data Protection Officer
88 Colin P. Kelly Jr. St.
San Francisco, CA 94107
United States
**privacy [at] github [dot] com**
+ +**If you are outside of North America:**
Github Data Protection Officer
c/o DP Dock DPO Services GmbH,
Attn: GitHub BV, Gut Projensdorf,
24161 Altenholz, Germany
github@dp-officer.com cc: **privacy [at] github [dot] com**
CC: GitHub BV, Vijzelstraat 68-72, 1017 HL Amsterdam, The Netherlands ### Proceso de resolución de disputas @@ -254,7 +303,7 @@ En el improbable caso de que surja una disputa entre tú y GitHub con respecto a ## Cambios en tu Declaración de privacidad -Aunque es probable que la mayoría de los cambios sean mínimos, GitHub puede cambiar nuestra Declaración de privacidad de manera ocasional. Les notificaremos a los Usuarios acerca de los cambios materiales a esta Declaración de privacidad por medio de nuestro Sitio web, al menos, 30 días antes de que el cambio entre en vigencia a través de la publicación de un aviso en nuestra página de inicio o enviando un correo electrónico a la dirección principal de correo electrónico que se especifica en tu cuenta de GitHub. También actualizaremos nuestro [Repositorio de políticas del sitio](https://github.com/github/site-policy/), que realiza un seguimiento de todos los cambios de esta política. Para otros cambios en esta declaración de privacidad, invitamos a los usuarios a [consultar](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository) o a revisar el repositorio de nuestra política del sitio con frecuencia. +Aunque es probable que la mayoría de los cambios sean mínimos, GitHub puede cambiar nuestra Declaración de privacidad de manera ocasional. Les notificaremos a los Usuarios acerca de los cambios materiales a esta Declaración de privacidad por medio de nuestro Sitio web, al menos, 30 días antes de que el cambio entre en vigencia a través de la publicación de un aviso en nuestra página de inicio o enviando un correo electrónico a la dirección principal de correo electrónico que se especifica en tu cuenta de GitHub. También actualizaremos nuestro [Repositorio de políticas del sitio](https://github.com/github/site-policy/), que realiza un seguimiento de todos los cambios de esta política. For other changes to this Privacy Statement, we encourage Users to [watch](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository) or to check our Site Policy repository frequently. ## Licencia diff --git a/translations/es-ES/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md b/translations/es-ES/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md index a4e303e98f..0508bfdb7d 100644 --- a/translations/es-ES/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md +++ b/translations/es-ES/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md @@ -14,74 +14,23 @@ topics: - Legal --- -Fecha de entrada en vigor: **2 de abril de 2021** +Fecha de entrada en vigor: **1 de septiembre de 2022** -{% note %} - -**Nota:** Los cambios a la lista de cookies en esta página están pendientes actualmente. - -{% endnote %} GitHub ofrece una gran cantidad de transparencia en cuanto a cómo usamos tus datos, cómo recopilamos tus datos y con quién los compartimos. Para este propósito, proporcionamos esta página, la cual detalla [nuestros subprocesadores](#github-subprocessors) y cómo utilizamos las [cookies](#cookies-on-github). ## Subprocesadores de GitHub -Cuando compartimos tu información con subprocesadores de terceros, como nuestros vendedores y proveedores de servicios, seguimos siendo responsables de ella. Trabajamos arduamente para mantener tu confianza cuando traemos nuevos proveedores y exigimos que todos los proveedores celebren acuerdos de protección de datos con nosotros que restrinjan su procesamiento de la información personal de los usuarios (tal como se define en la [Declaración de Privacidad](/articles/github-privacy-statement/)). Puedes iniciar sesión para recibir actualizaciones de la lista de subprocesadores [aquí](https://www.github.com/privacy/subprocessors). +Cuando compartimos tu información con subprocesadores de terceros, como nuestros vendedores y proveedores de servicios, seguimos siendo responsables de ella. Trabajamos arduamente para mantener tu confianza cuando traemos nuevos proveedores y exigimos que todos los proveedores celebren acuerdos de protección de datos con nosotros que restrinjan su procesamiento de la información personal de los usuarios (tal como se define en la [Declaración de Privacidad](/articles/github-privacy-statement/)). -| Nombre del subprocesador | Descripción del procesamiento | Ubicación del procesamiento | Ubicación Corporativa | -|:------------------------ |:----------------------------------------------------------------------------------------------- |:--------------------------- |:--------------------- | -| Automattic | Servicio de alojamiento | Estados Unidos | Estados Unidos | -| AWS Amazon | Alojamiento de datos | Estados Unidos | Estados Unidos | -| Braintree (PayPal) | Procesador de pagos de suscripción con tarjeta de crédito | Estados Unidos | Estados Unidos | -| Clearbit | Servicio de enriquecimiento de datos de marketing | Estados Unidos | Estados Unidos | -| Discourse | Proveedor de software del foro de la comunidad | Estados Unidos | Estados Unidos | -| Eloqua | Automatización de campañas de marketing | Estados Unidos | Estados Unidos | -| Google Apps | Infraestructura interna de la empresa | Estados Unidos | Estados Unidos | -| MailChimp | Proveedor de servicios de correo de billetaje de clientes | Estados Unidos | Estados Unidos | -| Mailgun | Proveedor de servicios de correo transaccional | Estados Unidos | Estados Unidos | -| Microsoft | Servicios de Microsoft | Estados Unidos | Estados Unidos | -| Nexmo | Proveedor de notificaciones SMS | Estados Unidos | Estados Unidos | -| Salesforce.com | Gestión de relaciones con clientes | Estados Unidos | Estados Unidos | -| Sentry.io | Proveedor de monitoreo de aplicaciones | Estados Unidos | Estados Unidos | -| Stripe | Proveedor de pagos | Estados Unidos | Estados Unidos | -| Twilio & Twilio Sendgrid | Proveedor de notificaciones por SMS & proveedor de servicio de correo electrónico transaccional | Estados Unidos | Estados Unidos | -| Zendesk | Sistema de tickets de soporte al cliente | Estados Unidos | Estados Unidos | -| Zuora | Sistema de facturación corporativa | Estados Unidos | Estados Unidos | +When we bring on a new subprocessor who handles our Users' Personal Information, or remove a subprocessor, or we change how we use a subprocessor, we will update the list of subprocessors. You can view the current list of subprocessors, and sign up to receive subprocessor list updates, at [https://www.github.com/privacy/subprocessors](https://www.github.com/privacy/subprocessors). -Cuando traemos un nuevo subprocesador que maneja la información personal de nuestros usuarios o eliminas un subprocesador, o cambiamos la manera en que usamos un subprocesador, actualizaremos esta página. Si tienes preguntas o inquietudes acerca de un nuevo subprocesador, estaremos encantados de ayudarte. Ponte en contacto con nosotros vía{% data variables.contact.contact_privacy %}. +Si tienes preguntas o inquietudes acerca de un nuevo subprocesador, estaremos encantados de ayudarte. Ponte en contacto con nosotros vía{% data variables.contact.contact_privacy %}. ## Cookies en GitHub GitHub utiliza cookies para proporcionar y asegurar nuestros sitios web, así como para analizar el uso de los mismos, para poder ofrecerte una gran experiencia de usuario. Por favor, echa un vistazo a nuestra [Declaración de privacidad](/github/site-policy/github-privacy-statement#our-use-of-cookies-and-tracking) si te gustaría obtener más información sobre las cookies y sobre cómo y por qué las utilizamos. -Ya que la cantidad de nombres y cookies puede cambiar, la tabla siguiente se podría actualizar a menudo. +You can view the current list of cookies on GitHub, and sign up to receive cookie list updates, at [https://github.com/privacy/cookies](https://github.com/privacy/cookies). -| Proveedor de servicios | Nombre de la Cookie | Descripción | Vencimiento* | -|:---------------------- |:------------------------------------ |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:------------------------------------------------------------------------------------------ | -| GitHub | `app_manifest_token` | Esta cookie se utiliza durante el flujo del manifiesto de la app para mantener su estado durante la redirección para obtener una sesión de usuario. | cinco minutos | -| GitHub | `color_mode` | Esta cookie se utiliza para indicar que el usuario seleccionó la preferencia de tema. | sesión | -| GitHub | `_device_id` | Esta cookie se utiliza para rastrear los dispositivos reconocidos para propósitos de seguridad. | un año | -| GitHub | `dotcom_user` | Esta cookie se utiliza para indicarnos que el usuario ya está registrado. | un año | -| GitHub | `_gh_ent` | Esta cookie se utiliza para la aplicación temporal y el estado del marco de trabajo entre las páginas como en qué paso se encuentra el cliente dentro de un formulario de varios pasos. | dos semanas | -| GitHub | `_gh_sess` | Esta cookie se usa para la aplicación temporal y el estado del marco entre las páginas como para indicar en qué paso está el usuario en un formulario de múltiples pasos. | sesión | -| GitHub | `gist_oauth_csrf` | Esta cookie se establece por Gist para asegurar que el usuario que inició el flujo oauth sea el mismo usuario que lo completa. | se borra al validar el estado de oauth | -| GitHub | `gist_user_session` | Gist utiliza esta cookie cuando se ejecuta en un host por separado. | dos semanas | -| GitHub | `has_recent_activity` | Esta cookie se utiliza para prevenir que se muestre la seguridad que es intersticial a los usuarios que han visitado la app recientemente. | una hora | -| GitHub | `__Host-gist_user_session_same_site` | Esta cookie se configura para asegurar que los navegadores que soportan las cookies de SameSite puedan verificar si una solicitud se origina desde GitHub. | dos semanas | -| GitHub | `__Host-user_session_same_site` | Esta cookie se configura para asegurar que los navegadores que soportan las cookies de SameSite puedan verificar si una solicitud se origina desde GitHub. | dos semanas | -| GitHub | `logged_in` | Esta cookie se utiliza para indicarnos que el usuario ya está registrado. | un año | -| GitHub | `marketplace_repository_ids` | Esta cookie se utiliza para el flujo de instalación de marketplace. | una hora | -| GitHub | `marketplace_suggested_target_id` | Esta cookie se utiliza para el flujo de instalación de marketplace. | una hora | -| GitHub | `_octo` | Esta cookie se utiliza para la administración de sesiones, incluyendo el almacenamiento en caché del contenido dinámico, el acceso de características condicionales, los metadatos de solicitud de soporte y la analítica de las primeras partes. | un año | -| GitHub | `org_transform_notice` | Esta cookie se utiliza para proporcionar notificaciones durante las transformaciones de las organizaciones. | una hora | -| GitHub | `private_mode_user_session` | Esta cookie se utiliza para las solicitudes de autenticación empresarial. | dos semanas | -| GitHub | `saml_csrf_token` | Esta cookie se establece mediante el método de ruta de autenticación de SAML para asociar un token con el cliente. | hasta que el usuario cierre el buscador o hasta que complete la solicitud de autenticación | -| GitHub | `saml_csrf_token_legacy` | Esta cookie se establece mediante el método de ruta de autenticación de SAML para asociar un token con el cliente. | hasta que el usuario cierre el buscador o hasta que complete la solicitud de autenticación | -| GitHub | `saml_return_to` | Esta cookie se establece mediante el método de ruta de autenticación de SAML para mantener el estado durante el bucle de autenticación de SAML. | hasta que el usuario cierre el buscador o hasta que complete la solicitud de autenticación | -| GitHub | `saml_return_to_legacy` | Esta cookie se establece mediante el método de ruta de autenticación de SAML para mantener el estado durante el bucle de autenticación de SAML. | hasta que el usuario cierre el buscador o hasta que complete la solicitud de autenticación | -| GitHub | `tz` | Esta cookie nos permite personalizar las marcas de tiempo a tu zona horaria. | sesión | -| GitHub | `user_session` | Esta cookie se utiliza para que inicies sesión. | dos semanas | - -_*_ Las fechas de **vencimiento** para las cookies que se listan a continuación generalmente se aplican permanentemente. - -(i) Por favor, ten encuenta que si bien limitamos nuestro uso de cookies de terceros a aquellas necesarias para proporcionar una funcionalidad externa cuando interpretamos el contenido externo, algunas páginas en nuestro sitio web podrían configurar otras cookies de terceros. Por ejemplo, es posible que insertemos contenido, como vídeos, desde otro sitio que establezca una cookie. Si bien tratamos de minimizar estas cookies de terceros, no siempre podemos controlar qué cookies configura dicho contenido. +(i) Por favor, ten encuenta que si bien limitamos nuestro uso de cookies de terceros a aquellas necesarias para proporcionar una funcionalidad externa cuando interpretamos el contenido externo, algunas páginas en nuestro sitio web podrían configurar otras cookies de terceros. Por ejemplo, es posible que insertamos contenido, como vídeos, desde otro sitio que establezca una cookie. Si bien tratamos de minimizar estas cookies de terceros, no siempre podemos controlar qué cookies establece este contenido de terceros. diff --git a/translations/es-ES/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/translations/es-ES/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md index 15580fe9d5..69770fe7bf 100644 --- a/translations/es-ES/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md +++ b/translations/es-ES/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -25,7 +25,7 @@ shortTitle: Patrocina a un contribuyente Puedes patrocinar una cuenta en nombre de tu cuenta personal para invertir en los proyectos de los cuales te beneficies personalmente. Puedes patrocinar una cuenta en nombre de tu organización por varias razones. - Mantener bibliotecas específicas de las cuales dependa el trabajo de tu organización -- Invertir en el ecosistema del cual dependes como organización (tal como blockchain) +- Invertir en el ecosistema del que dependes como organización (tal como blockchain) - Desarrollar una conciencia de marca como una organización que valora el código abierto - Agradecer a los desarrolladores de código abierto por crear bibliotecas que complementan el producto que ofrece tu organización diff --git a/translations/es-ES/data/features/actions-hosted-runners.yml b/translations/es-ES/data/features/actions-hosted-runners.yml new file mode 100644 index 0000000000..fcc88d707d --- /dev/null +++ b/translations/es-ES/data/features/actions-hosted-runners.yml @@ -0,0 +1,5 @@ +#Reference: #6458 +#Larger GitHub-hosted runners +versions: + fpt: '*' + ghec: '*' diff --git a/translations/es-ES/data/features/actions-oidc-hardening-config.yml b/translations/es-ES/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 0000000000..f3048bac8b --- /dev/null +++ b/translations/es-ES/data/features/actions-oidc-hardening-config.yml @@ -0,0 +1,6 @@ +#Reference: #7336 +#General versioning for oidc hardening options +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' diff --git a/translations/es-ES/data/features/code-scanning-exclude-queries-from-analysis.yml b/translations/es-ES/data/features/code-scanning-exclude-queries-from-analysis.yml new file mode 100644 index 0000000000..2157533a6d --- /dev/null +++ b/translations/es-ES/data/features/code-scanning-exclude-queries-from-analysis.yml @@ -0,0 +1,7 @@ +#Issue 7617 +#Users can easily exclude CodeQL queries from code scanning analyses - [GA] +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7617' diff --git a/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml index 84825c368b..a7f772a7c5 100644 --- a/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml +++ b/translations/es-ES/data/features/dependabot-alerts-vulnerable-calls.yml @@ -3,5 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.5' ghae: 'issue-6076' diff --git a/translations/es-ES/data/features/enterprise-namespace-repo-setting.yml b/translations/es-ES/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 0000000000..e20549f3ea --- /dev/null +++ b/translations/es-ES/data/features/enterprise-namespace-repo-setting.yml @@ -0,0 +1,6 @@ +#Reference: #7757 +#Setting to disable personal namespace repo creation for EMUs, GHES 3.7+ and GHAE 3.7+ users +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7757' diff --git a/translations/es-ES/data/features/ip-allow-list-address-check.yml b/translations/es-ES/data/features/ip-allow-list-address-check.yml new file mode 100644 index 0000000000..c4dda87a70 --- /dev/null +++ b/translations/es-ES/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/es-ES/data/features/multiple-accounts-one-workstation.yml b/translations/es-ES/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 0000000000..9fce93b34e --- /dev/null +++ b/translations/es-ES/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,5 @@ +#Issue #7330 +#Documentation for managing multiple GitHub accounts on one workstation +versions: + fpt: '*' + ghec: '*' diff --git a/translations/es-ES/data/features/packages-npm-v2.yml b/translations/es-ES/data/features/packages-npm-v2.yml new file mode 100644 index 0000000000..572e412e4a --- /dev/null +++ b/translations/es-ES/data/features/packages-npm-v2.yml @@ -0,0 +1,5 @@ +#Issue 7039 +#npm Package Registry Improvements (v2) GA +versions: + fpt: '*' + ghec: '*' diff --git a/translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml b/translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 0000000000..509caa9fb4 --- /dev/null +++ b/translations/es-ES/data/features/push-protection-custom-link-orgs-beta.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links beta flags +#See "push-protection-custom-link-orgs" for the feature +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/es-ES/data/features/push-protection-custom-link-orgs.yml b/translations/es-ES/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 0000000000..fce23efa96 --- /dev/null +++ b/translations/es-ES/data/features/push-protection-custom-link-orgs.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links +#See "push-protection-custom-link-orgs-beta" for the beta flags +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/es-ES/data/features/ssh-commit-verification.yml b/translations/es-ES/data/features/ssh-commit-verification.yml new file mode 100644 index 0000000000..7851b1c8b7 --- /dev/null +++ b/translations/es-ES/data/features/ssh-commit-verification.yml @@ -0,0 +1,8 @@ +#Reference: github/docs-content#6709 +#Initial docs for showing SSH signed commits as verified and +#uploading SSH signing keys +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.7' + ghae: '*' diff --git a/translations/es-ES/data/features/streaming-datadog.yml b/translations/es-ES/data/features/streaming-datadog.yml new file mode 100644 index 0000000000..ab90546c8d --- /dev/null +++ b/translations/es-ES/data/features/streaming-datadog.yml @@ -0,0 +1,4 @@ +#Reference #7495 +#Documentation for audit log streaming to a Datadog endpoint +versions: + ghec: '*' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-1/20.yml b/translations/es-ES/data/release-notes/enterprise-server/3-1/20.yml index e5a8d1f357..a518cef9b1 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-1/20.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-1/20.yml @@ -6,11 +6,11 @@ sections: - 'El cargar nodos en un par con disponibilidad alta con un paquete de mejora pudo haber causado que Elasticsearch ingresara en un estado inconsistente en algunos casos.' - 'En algunas topologías de clúster, no pudieron ejecutarse las utilidades de línea de comandos `ghe-spokesctl` y `ghe-btop`.' - 'Los índices de Elastisearch podrían duplicarse durante la mejora de un paquete debido a que el servicio de `elasticsearch-upgrade` se ejecutó varias veces en paralelo.' - - 'The `maint_host_low` job queues were not processed, resulting in some maintenance tasks failing to run.' + - 'Las colas de job `maint_host_low` no se procesaron y esto dio como resultado que algunas tareas de mantenimiento no se pudieran ejecutar.' - 'Cuando conviertes una cuenta de usuario en una organización, si dicha cuenta fue propietaria de la cuenta empresarial de {% data variables.product.prodname_ghe_server %}, la organización convertida se mostró incorrectamente en la lista de propietarios de la empresa.' - 'El crear un token de OAuth de personificación utilizando la API de REST de administración de empresas dio como resultado un error cuando una integración que coincidió con la ID de aplicación de OAuth ya existía.' changes: - - 'When attempting to cache a value larger than the maximum allowed in Memcached, an error was raised however the key was not reported.' + - 'Cuando se intenta guardar en caché un valor mayor al máximo permitido en memcached, un error se levantó pero la llave no se reportó.' known_issues: - 'El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes.' - 'En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador.' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-2/12.yml b/translations/es-ES/data/release-notes/enterprise-server/3-2/12.yml index 15273f31a9..59507e58e6 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-2/12.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-2/12.yml @@ -7,11 +7,11 @@ sections: - 'En algunas topologías de clúster, no pudieron ejecutarse las utilidades de línea de comandos `ghe-spokesctl` y `ghe-btop`.' - 'Los índices de Elastisearch podrían duplicarse durante la mejora de un paquete debido a que el servicio de `elasticsearch-upgrade` se ejecutó varias veces en paralelo.' - 'Cuando conviertes una cuenta de usuario en una organización, si dicha cuenta fue propietaria de la cuenta empresarial de {% data variables.product.prodname_ghe_server %}, la organización convertida se mostró incorrectamente en la lista de propietarios de la empresa.' - - 'Creating an impersonation OAuth token using the Enterprise Administration REST API worked incorrectly when an integration matching the OAuth Application ID already existed.' + - 'El crear un token de OAuth de personificación utilizando la API de REST de administración de empresas funcionó de forma incorrecta cuando una integración que coincidió con la ID de aplicación de OAuth ya existía.' changes: - 'Los errores de configuración que detienen una ejecución de aplicación de configuraciones ahora son el producto de la terminal adicionalmente a la bitácora de configuración.' - 'Al intentar almacenar en caché un valor que fuera más grande que el máximo permitido en Memcached, se levantó un error pero la clave no se reportó.' - - 'The {% data variables.product.prodname_codeql %} starter workflow no longer errors even if the default token permissions for {% data variables.product.prodname_actions %} are not used.' + - 'El flujo de trabajo inicial de {% data variables.product.prodname_codeql %} ya no muestra un error, incluso si no se utilizan los permisos del token predeterminado para {% data variables.product.prodname_actions %}.' - 'Si se habilitaron las características de {% data variables.product.prodname_GH_advanced_security %} en tu instancia, el rendimiento de los jobs en segundo plano mejoró al procesar los lotes para las contribuciones de repositorio.' known_issues: - 'En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador.' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml b/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml index 4b357844ba..62417df964 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-2/17.yml @@ -2,11 +2,11 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - - When a custom dormancy threshold was set for the instance, suspending all dormant users did not reliably respect the threshold. For more information about dormancy, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)." + - Cuando se configuró un umbral de inactividad personalizado para la instancia, el suspender a todos los usuarios inactivos no respetó confiablemente dicho umbral. Para obtener más información sobre la inactividad, consulta la sección "[Administrar a los usuarios inactivos](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)". known_issues: - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. - Las reglas de cortafuegos personalizadas se eliminan durante el proceso de actualización. diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-2/18.yml b/translations/es-ES/data/release-notes/enterprise-server/3-2/18.yml new file mode 100644 index 0000000000..3f5d1e9bc5 --- /dev/null +++ b/translations/es-ES/data/release-notes/enterprise-server/3-2/18.yml @@ -0,0 +1,16 @@ +date: '2022-08-30' +sections: + bugs: + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + known_issues: + - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. + - Las reglas de cortafuegos personalizadas se eliminan durante el proceso de actualización. + - Los archivos rastreados del LFS de Git que se [cargaron mediante la interface web](https://github.com/blog/2105-upload-files-to-your-repositories) se agregaron incorrecta y directamente al repositorio. + - Las propuestas no pudieron cerrarse si contenían un permalink a un blob en el mismo repositorio en donde la ruta de archvio del blob era más grande a 255 caracteres. + - Cuando se habilita la opción "Los usuarios pueden buscar en GitHub.com" con las propuestas de {% data variables.product.prodname_github_connect %}, las propuestas en los repositorios internos y privados no se incluyen en los resultados de búsqueda de {% data variables.product.prodname_dotcom_the_website %}. + - El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes. + - Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml b/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml index 362eff8fbc..caafc57aab 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-3/12.yml @@ -2,13 +2,13 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - - When a custom dormancy threshold was set for the instance, suspending all dormant users did not reliably respect the threshold. For more information about dormancy, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)." + - Cuando se configuró un umbral de inactividad personalizado para la instancia, el suspender a todos los usuarios inactivos no respetó confiablemente dicho umbral. Para obtener más información sobre la inactividad, consulta la sección "[Administrar a los usuarios inactivos](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)". changes: - - 'The enterprise audit log now includes more user-generated events, such as `project.create`. The REST API also returns additional user-generated events, such as `repo.create`. For more information, see "[Accessing the audit log for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" and "[Using the audit log API for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)."' + - 'La bitácora de auditoría ahora incluye más eventos generados por los usuarios, tal como `project.create`. La API de REST también devuelve eventos generados por el usuario, tal como `repo.create`. Para obtener más información, consulta las secciones "[Acceder a la bitácora de auditoría de tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" y "[Utilizar la API de bitácora de auditoría para tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)".' known_issues: - Después de haber actualizado a {% data variables.product.prodname_ghe_server %} 3.3, podría que las {% data variables.product.prodname_actions %} no inicien automáticamente. Para resolver este problema, conéctate al aplicativo a través de SSH y ejecuta el comando `ghe-actions-start`. - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-3/13.yml b/translations/es-ES/data/release-notes/enterprise-server/3-3/13.yml new file mode 100644 index 0000000000..66730dd551 --- /dev/null +++ b/translations/es-ES/data/release-notes/enterprise-server/3-3/13.yml @@ -0,0 +1,23 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - 'La bitácora de auditoría ahora incluye más eventos generados por los usuarios, tal como `project.create`. La API de REST también devuelve eventos generados por el usuario, tal como `repo.create`. Para obtener más información, consulta las secciones "[Acceder a la bitácora de auditoría de tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" y "[Utilizar la API de bitácora de auditoría para tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)".' + known_issues: + - Después de haber actualizado a {% data variables.product.prodname_ghe_server %} 3.3, podría que las {% data variables.product.prodname_actions %} no inicien automáticamente. Para resolver este problema, conéctate al aplicativo a través de SSH y ejecuta el comando `ghe-actions-start`. + - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. + - Las reglas de cortafuegos personalizadas se eliminan durante el proceso de actualización. + - Los archivos rastreados del LFS de Git que se [cargaron mediante la interface web](https://github.com/blog/2105-upload-files-to-your-repositories) se agregaron incorrecta y directamente al repositorio. + - Las propuestas no pudieron cerrarse si contenían un permalink a un blob en el mismo repositorio en donde la ruta de archvio del blob era más grande a 255 caracteres. + - Cuando se habilita la opción "Los usuarios pueden buscar en GitHub.com" con las propuestas de {% data variables.product.prodname_github_connect %}, las propuestas en los repositorios internos y privados no se incluyen en los resultados de búsqueda de {% data variables.product.prodname_dotcom_the_website %}. + - El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes. + - Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción. + - 'Los ajustes de almacenamiento de {% data variables.product.prodname_actions %} no pueden validarse y guardarse en la {% data variables.enterprise.management_console %} cuando se selecciona "Forzar estilo de ruta" y, en su lugar, debe configurarse la utilidad de línea de comando `ghe-actions-precheck`.' + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-3/7.yml b/translations/es-ES/data/release-notes/enterprise-server/3-3/7.yml index d4118e7d0d..c015a20808 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-3/7.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-3/7.yml @@ -9,10 +9,10 @@ sections: - 'Se acumularon los archivos de bitácora rotados con la extensión `.backup` enlos directorios que contenían bitácoras de sistema.' - 'En algunas topologías de clúster, no pudieron ejecutarse las utilidades de línea de comandos `ghe-spokesctl` y `ghe-btop`.' - 'Los índices de Elastisearch podrían duplicarse durante la mejora de un paquete debido a que el servicio de `elasticsearch-upgrade` se ejecutó varias veces en paralelo.' - - 'In the pull request and commit views, rich diffs would fail to load for some files tracked by Git LFS.' + - 'En las vistas de confirmación y solicitud de cambios, las diferencias enriquecidas no pudieron cargar para algunos archivos rastreados por Git LFS.' - 'Cuando conviertes una cuenta de usuario en una organización, si dicha cuenta fue propietaria de la cuenta empresarial de {% data variables.product.prodname_ghe_server %}, la organización convertida se mostró incorrectamente en la lista de propietarios de la empresa.' - 'El crear un token de OAuth de personificación utilizando la API de REST de administración de empresas dio como resultado un error cuando una integración que coincidió con la ID de aplicación de OAuth ya existía.' - - 'The Secret Scanning REST API would return a `500` response code when there were UTF8 characters present in a detected secret.' + - 'La API de REST del escaneo de secretos devolvió un código de respuesta `500` cuando hubo caracteres UTF8 presentes en un secreto detectado.' - 'Los servidores de caché del repositorio pudieron servir datos de ubicaciones fuera del caché, incluso cuando los datos estuvieron disponibles en la ubicación del caché local.' changes: - 'Los errores de configuración que detienen una ejecución de aplicación de configuraciones ahora son el producto de la terminal adicionalmente a la bitácora de configuración.' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-4/2.yml b/translations/es-ES/data/release-notes/enterprise-server/3-4/2.yml index 0e7becdeaf..3e02d47236 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-4/2.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-4/2.yml @@ -11,10 +11,10 @@ sections: - 'Los índices de Elastisearch podrían duplicarse durante la mejora de un paquete debido a que el servicio de `elasticsearch-upgrade` se ejecutó varias veces en paralelo.' - 'Los servidores de caché del repositorio pudieron servir datos de ubicaciones fuera del caché, incluso cuando los datos estuvieron disponibles en la ubicación del caché local.' - 'Cuando conviertes una cuenta de usuario en una organización, si dicha cuenta fue propietaria de la cuenta empresarial de {% data variables.product.prodname_ghe_server %}, la organización convertida se mostró incorrectamente en la lista de propietarios de la empresa.' - - 'The `/stafftools/users/ip_addresses/:address` page responded with a `500 Internal Server Error` when attempting to display the page for an IPv6 address.' + - 'La página `/stafftools/users/ip_addresses/:address` respondió con un `500 Internal Server Error` cuando se intentó mostrar la página para una dirección IPv6.' - 'El crear un token de OAuth de personificación utilizando la API de REST de administración de empresas dio como resultado un error cuando una integración que coincidió con la ID de aplicación de OAuth ya existía.' changes: - - 'Added support for replica domain names that are more than 63 characters.' + - 'Se agregó compatibilidad para los nombres de dominio de réplica que tienen más de 63 caracteres.' - 'Los errores de configuración que detienen una ejecución de aplicación de configuraciones ahora son el producto de la terminal adicionalmente a la bitácora de configuración.' - 'Si se habilitaron las características de {% data variables.product.prodname_GH_advanced_security %} en tu instancia, el rendimiento de los jobs en segundo plano mejoró al procesar los lotes para las contribuciones de repositorio.' known_issues: diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml b/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml index 87225268ee..cd5d3665fa 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-4/7.yml @@ -2,13 +2,13 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - In some cases, GitHub Enterprise Server instances on AWS that used the `r4.4xlarge` instance type would fail to boot. - 'When calculating committers for GitHub Advanced Security, it was not possible to specify individual repositories. For more information, see "[Site admin dashboard](/admin/configuration/configuring-your-enterprise/site-admin-dashboard#advanced-security-committers)."' - - When a custom dormancy threshold was set for the instance, suspending all dormant users did not reliably respect the threshold. For more information about dormancy, see "[Managing dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)." + - Cuando se configuró un umbral de inactividad personalizado para la instancia, el suspender a todos los usuarios inactivos no respetó confiablemente dicho umbral. Para obtener más información sobre la inactividad, consulta la sección "[Administrar a los usuarios inactivos](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users)". changes: - '`pre_receive_hook.rejected_push` events were not displayed in the enterprise audit log.' - Both migration archives for repositories and archive exports for user accounts include release reactions. diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-4/8.yml b/translations/es-ES/data/release-notes/enterprise-server/3-4/8.yml new file mode 100644 index 0000000000..a6dcaaaa45 --- /dev/null +++ b/translations/es-ES/data/release-notes/enterprise-server/3-4/8.yml @@ -0,0 +1,26 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - 'La bitácora de auditoría ahora incluye más eventos generados por los usuarios, tal como `project.create`. La API de REST también devuelve eventos generados por el usuario, tal como `repo.create`. Para obtener más información, consulta las secciones "[Acceder a la bitácora de auditoría de tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" y "[Utilizar la API de bitácora de auditoría para tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)".' + known_issues: + - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. + - Las reglas de cortafuegos personalizadas se eliminan durante el proceso de actualización. + - Los archivos rastreados del LFS de Git que se [cargaron mediante la interface web](https://github.com/blog/2105-upload-files-to-your-repositories) se agregaron incorrecta y directamente al repositorio. + - Las propuestas no pudieron cerrarse si contenían un permalink a un blob en el mismo repositorio en donde la ruta de archvio del blob era más grande a 255 caracteres. + - Cuando se habilita la opción "Los usuarios pueden buscar en GitHub.com" con las propuestas de {% data variables.product.prodname_github_connect %}, las propuestas en los repositorios internos y privados no se incluyen en los resultados de búsqueda de {% data variables.product.prodname_dotcom_the_website %}. + - El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes. + - Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción. + - | + Después de registrar un ejecutor auto-hospedado con el parámetro `--ephemeral` en más de un nivel (por ejemplo, tanto en la empresa como en la organización), el ejecutor podría atorarse en un estado inactivo y requerir un nuevo registro. [Actualizado: 2022-06-17] + - Después de mejorar a {% data variables.product.prodname_ghe_server %} 3.4, podría parecer que los lanzamientos no están en los repositorios. Esto puede ocurrir cuando las migraciones de índice de Elasticsearch requeridas no se han completado exitosamente. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml index a0c56a536c..7ffe59353b 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/0.yml @@ -116,8 +116,7 @@ sections: heading: La gráfica de dependencias es compatible con GitHub Actions notes: - | - The dependency graph now detects YAML files for GitHub Actions workflows. GitHub Enterprise Server will display the workflow files within the **Insights** tab's dependency graph section. Repositories that publish actions will also be able to see the number of repositories that depend on that action from the "Used By" control on the repository homepage. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." - - **Note**: This feature was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The feature is available in 3.5.4 and later. [Updated: 2022-08-16] + La gráfica de dependencias ahora detecta archivos YAML para los flujos de trabajo de GitHub Actions. GitHub Enterprise Server mostrará los archivos de flujo de trabajo dentro de la sección de gráfica de dependencias de la pestaña **Perspectivas**. Los repositorios que publiquen acciones también podrán ver la cantidad de repositorios que dependen de esa acción desde el control de "Utilizado por" en la página principal del repositorio. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)". - **Nota**: Esta característica está disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. La característica está disponible en la versión 3.5.4 y posteriores. [Actualizado: 2022-08-16] - heading: El resumen de seguridad para empresas está en beta público notes: @@ -201,8 +200,8 @@ sections: heading: Volver a abrir las alertas descartadas del Dependabot notes: - | - You can now reopen dismissed Dependabot alerts through the UI page for a closed alert. This does not affect Dependabot pull requests or the GraphQL API. For more information, see "[About Dependabot alerts](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - - **Note**: This feature was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The feature is available in 3.5.4 and later. [Updated: 2022-08-16] + Ahora puedes volver a abrir las alertas del Dependabot que se descartaron mediante la página de IU en el caso de las alertas cerradas. Esto no afecta a las solicitudes de cambio ni a la API de GraphQL. Para obtener más información, consulta la sección "[Acerca de las alertas del Dependabot](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)". + - **Nota**: Esta característica no estuvo disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. La característica está disponible en la versión 3.5.4 y posteriores. [Actualizado: 2022-08-16] - heading: La compatibilidad de Pub para las actualizaciones de versión del Dependabot se encuentra en beta público notes: @@ -262,12 +261,12 @@ sections: heading: Más formas de mantener actualizada la rama de tema de una solicitud de cambios notes: - | - The **Update branch** button on the pull request page lets you update your pull request's branch with the latest changes from the base branch. This is useful for verifying your changes are compatible with the current version of the base branch before you merge. Two enhancements now give you more ways to keep your branch up-to-date. + El botón de **Rama actualizada* en la página de la solicitud de cambios te permite actualizar la rama de esta solicitud con los últimos cambios de la rama base. Esto es útil para verificar que tus cambios sean compatibles con la versión actual de la rama base antes de que hagas la fusión. Estas dos mejoras ahora te proporcionan más formas de mantener tu rama actualizada. - - When your pull request's topic branch is out of date with the base branch, you now have the option to update it by rebasing on the latest version of the base branch. Rebasing applies the changes from your branch onto the latest version of the base branch, resulting in a branch with a linear history since no merge commit is created. To update by rebasing, click the drop down menu next to the **Update Branch** button, click **Update with rebase**, and then click **Rebase branch**. Previously, **Update branch** performed a traditional merge that always resulted in a merge commit in your pull request branch. This option is still available, but now you have the choice. For more information, see "[Keeping your pull request in sync with the base branch](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch)." + - Cuando la rama de tema de tu solicitud de cambios está desactualizada con la rama base, ahora tienes la opción de actualizarla rebasándola en la versión más reciente de la rama base. El rebase aplica los cambios de tu rama en la última versión de la rama base, lo que da como resultado una rama con un historial linear, ya que no se crea ninguna confirmación de fusión. Para actualizar por rebase, haz clic en el menú desplegable junto al botón**Actualizar rama**, luego en **Actualizar con rebase** y luego en *Rebasar rama*. Anteriormente, **Actualizar rama** realizaba una fusión tradicional que siembre daba como resultado una confirmación de fusión en la rama de tu solicitud de cambios. Esta opción aún está disponible, pero ahora tienes una elección. Para obtener más información, consulta la sección "[Mantener tu solicitud de cambios sincronizada con la rama base](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch)". - - A new repository setting allows the **Update branch** button to always be available when a pull request's topic branch is not up to date with the base branch. Previously, this button was only available when the **Require branches to be up to date before merging** branch protection setting was enabled. People with admin or maintainer access can manage the **Always suggest updating pull request branches** setting from the **Pull Requests** section in repository settings. For more information, see "[Managing suggestions to update pull request branches](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)." - - **Note**: This feature was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The feature is available in 3.5.4 and later. [Updated: 2022-08-16] + - Un ajuste nuevo de repositorio permite que el botón **Actualizar rama** siempre esté disponible cuando la rama de tema de una solicitud de cambios no esté actualizada con la rama base. Anteriormente, este botón solo estaba disponible cuando estaba habilitado el ajuste de protección de rama **Requerir que las ramas estén actualizadas antes de fusionarlas**. Las personas con acceso de mantenedor o administrador pueden administrar el ajuste de **Siempre sugerir actualizar las ramas de solicitudes de cambios** de la sección **Solicitudes de cambios* en los ajustes de repositorio. Para obtener más información, consulta la sección "[Administrar sugerencias para actualizar las ramas de las solicitudes de cambios](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)". + - **Nota**: Esta característica no estuvo disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. La característica está disponible en la versión 3.5.4 y posterior. [Actualizado: 2022-08-16] - heading: Configurar los encabezados personalizados de HTTP para los sitios de GitHub Pages notes: @@ -282,8 +281,8 @@ sections: heading: El tema claro de contraste alto está disponible en general notes: - | - A light high contrast theme, with greater contrast between foreground and background elements, is now generally available. For more information, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings)." - - **Note**: This feature was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The feature is available in 3.5.4 and later. [Updated: 2022-08-16] + Ahora hay un tema claro de alto contraste disponible para el público en general, el cual tiene un mayor contraste entre los elementos de fondo y superpuestos. Para obtener más información, consulta la sección "[Administrar los ajustes de tu tema](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings)". + - **Note**: Esta característica no estuvo disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. La característica está disponible en la versión 3.5.4 y posterior. [Actualizado: 2022-08-16] - heading: Reglas de protección de etiquetas notes: @@ -352,10 +351,10 @@ sections: - 'Deleted repositories will not be purged from disk automatically after the 90-day retention period ends. This issue is resolved in the 3.5.1 patch release. [Updated: 2022-06-10]' - 'La consola de administración podría haberse mostrado atascada en la pantalla de _Starting_ después de mejorar una instancia subaprovisionada para GitHub Enterprise Server 3.5. [Actualizado: 2022-06-20]' - | - The following features were unavailable for users in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The features are available in 3.5.4 and later. [Updated: 2022-08-16] + Las siguientes características no estuvieron disponibles para los usuarios en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. Las características están disponibles en la versión 2.5.4 y posterior. [Actualizado: 2022-08-16] - - Detection of GitHub Actions workflow files for the dependency graph - - Reopening of dismissed Dependabot alerts - - Enabling the **Update branch** button for all pull requests in a repository - - Light high contrast theme + - Detección de archivos de flujo de GitHub Actions para la gráfica de dependencias + - Reapertura de las alertas descartadas del Dependabot + - Habilitar el botón **Actualizar rama** para todas las solicitudes de cambio en un repositorio + - Tema claro de alto contraste - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/1.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/1.yml index 59535991ee..a9f6895423 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-5/1.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/1.yml @@ -32,10 +32,10 @@ sections: - 'Los repositorios borrados no se purgarán del disco automáticamente después de que finalice el periodo de retención de 90 días. Esta propuesta se resolvió en el lanzamiento 3.5.1. [Actualizado: 2022-06-10]' - 'La consola de administración podría haberse mostrado atascada en la pantalla de _Starting_ después de mejorar una instancia subaprovisionada para GitHub Enterprise Server 3.5. [Actualizado: 2022-06-20]' - | - The following features were unavailable for users in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The features are available in 3.5.4 and later. [Updated: 2022-08-16] + Las siguientes características no estuvieron disponibles para los usuarios en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. Las características están disponibles en la versión 2.5.4 y posterior. [Actualizado: 2022-08-16] - - Detection of GitHub Actions workflow files for the dependency graph - - Reopening of dismissed Dependabot alerts - - Enabling the **Update branch** button for all pull requests in a repository - - Light high contrast theme + - Detección de archivos de flujo de GitHub Actions para la gráfica de dependencias + - Reapertura de las alertas descartadas del Dependabot + - Habilitar el botón **Actualizar rama** para todas las solicitudes de cambio en un repositorio + - Tema claro de alto contraste - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/2.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/2.yml index a9b35aafae..206837c08f 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-5/2.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/2.yml @@ -33,10 +33,10 @@ sections: - Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción. - Los servicios de las acciones necesitan reiniciarse después de restablecer un aplicativo de un respaldo que se llevó a un host diferente. - | - The following features were unavailable for users in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The features are available in 3.5.4 and later. [Updated: 2022-08-16] + Las siguientes características no estuvieron disponibles para los usuarios en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. Las características están disponibles en la versión 3.5.4 y posteriores. [Actualizado: 2022-08-16] - - Detection of GitHub Actions workflow files for the dependency graph - - Reopening of dismissed Dependabot alerts - - Enabling the **Update branch** button for all pull requests in a repository - - Light high contrast theme + - Detección de archivos del flujo de trabajo de GitHub Actions para la gráfica de dependencias + - Reapertura de alertas descartadas del Dependabot + - Habilitar el botón de *Rama actualizada** para todas las solicitudes de cambio en un repositorio + - Tema claro de alto contraste - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/3.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/3.yml index 962af1fb11..08c43001b3 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-5/3.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/3.yml @@ -30,5 +30,5 @@ sections: - 'El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes.' - 'Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción.' - 'Los servicios de las acciones necesitan reiniciarse después de restablecer un aplicativo de un respaldo que se llevó a un host diferente.' - - "The following features were unavailable for users in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The features are available in 3.5.4 and later. [Updated: 2022-08-16]\n\n- Detection of GitHub Actions workflow files for the dependency graph\n- Reopening of dismissed Dependabot alerts\n- Enabling the **Update branch** button for all pull requests in a repository\n- Light high contrast theme\n" + - "Las siguientes características no estuvieron disponibles para los usuarios en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3. Las características están disponibles en la versión 2.5.4 y posterior. [Actualizado: 2022-08-16]\n\n- Detección de archivos de flujo de GitHub Actions para la gráfica de dependencias\n- Reapertura de las alertas descartadas del Dependabot\n- Habilitar el botón **Actualizar rama** para todas las solicitudes de cambio en un repositorio\n- Tema claro de alto contraste\n" - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/4.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/4.yml index 03b028709f..b91d5e3a57 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-5/4.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/4.yml @@ -2,9 +2,9 @@ date: '2022-08-11' sections: security_fixes: - | - **CRITICAL**: GitHub Enterprise Server's Elasticsearch container used a version of OpenJDK 8 that was vulnerable to an integer truncation issue when processing malicious XSLT stylesheets. The vulnerability is tracked as [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). + **CRÍTICA**: El contenedor de Elasticsearch de GitHub Enterprise Server utilizó una versión de OpenJDK 8 que estuvo vulnerable a un problema de truncamiento de número al procesar hojas de estilo de XSLT malintencionadas. La vulnerabilidad se rastreó como [CVE-2022-34169](https://github.com/advisories/GHSA-9339-86wc-4qgf). - | - **HIGH**: Previously installed apps on user accounts were automatically granted permission to access an organization on scoped access tokens after the user account was transformed into an organization account. This vulnerability was reported via the [GitHub Bug Bounty program](https://bounty.github.com). + **ALTA**: Las aplicaciones instaladas anteriormente en las cuentas de usuario obtuvieron permiso automáticamente para acceder a una organización en los tokens de acceso en el alcance después de que la cuenta de usuario se transformó en una cuenta de organización. Esta vulnerabilidad se reportó a través del [Programa de Recompensas por Errores de GitHub](https://bounty.github.com). bugs: - In some cases, GitHub Enterprise Server instances on AWS that used the `r4.4xlarge` instance type would fail to boot. - In some cases, UI elements within a pull request's **Files changed** tab could overlap. @@ -12,10 +12,10 @@ sections: - 'When calculating committers for GitHub Advanced Security, it was not possible to specify individual repositories. For more information, see "[Site admin dashboard](/admin/configuration/configuring-your-enterprise/site-admin-dashboard#advanced-security-committers)."' - In some cases, Elasticsearch's post-upgrade `es:upgrade` process could crash before completion. - The script for migration to internal repositories failed to convert the visibility for public repositories to internal or private. For more information about the migration, see "[Migrating to internal repositories](/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories)." - - 'Detection of GitHub Actions workflow files for the dependency graph was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)."' - - 'The ability to reopen dismissed Dependabot alerts was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[Viewing and updating Dependabot alerts](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-and-updating-closed-alerts)."' - - The ability to always suggest updates from the base branch to a pull request's HEAD was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[Managing suggestions to update pull request branches](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)." - - The light high contrast theme was unavailable in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2, and 3.5.3, but is now available in 3.5.4. For more information, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings)." + - 'La detección de archivos de flujo de trabajo de GitHub Actions para la gráfica de dependencias no estuvo disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3, pero están ahora disponibles en la versión 3.5.4. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)".' + - 'La capacidad de reabrir alertas descartadas del Depedabot no estaba disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3, pero ahora está disponible en la versión 3.5.4. Para obtener más información, consulta la sección "[Ver y actualizar las alertas del Dependabot](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-and-updating-closed-alerts)".' + - La capacidad de siempre sugerir actualizaciones desde la rama base hacia un ENCABEZADO de una solicitud de cambios no estaba disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3, pero está ahora disponible en la versión 3.5.4. Para obtener más información, consulta la sección "[Administrar las sugerencias para actualizar las ramas de las solicitudes de cambios](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches)". + - El tema claro de alto contraste no estuvo disponible en GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 y 3.5.3, pero ahora está disponible en la versión 3.5.4. Para obtener más información, consulta la sección "[Administrar los ajustes de tu tema](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings)". changes: - '`pre_receive_hook.rejected_push` events were not displayed in the enterprise audit log.' known_issues: diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-5/5.yml b/translations/es-ES/data/release-notes/enterprise-server/3-5/5.yml new file mode 100644 index 0000000000..93e1bf5ac4 --- /dev/null +++ b/translations/es-ES/data/release-notes/enterprise-server/3-5/5.yml @@ -0,0 +1,27 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - The site admin bar at the top of the web interface contained a broken link to the SHA for the currently running version of the application. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + - Alerts from secret scanning for GitHub Advanced Security customers were missing in the web UI and REST API if a site administrator did not upgrade directly to GitHub Enterprise Server 3.4. The alerts are now visible. + - When a user forked a repository into an organization, a long list of organizations would not render properly. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - 'La bitácora de auditoría ahora incluye más eventos generados por los usuarios, tal como `project.create`. La API de REST también devuelve eventos generados por el usuario, tal como `repo.create`. Para obtener más información, consulta las secciones "[Acceder a la bitácora de auditoría de tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" y "[Utilizar la API de bitácora de auditoría para tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)".' + - In some cases, cache replicas could reject some Git operations on recently updated repositories. For more information about repository caching, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)." + known_issues: + - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. + - Las reglas de cortafuegos personalizadas se eliminan durante el proceso de actualización. + - Los archivos rastreados del LFS de Git que se [cargaron mediante la interface web](https://github.com/blog/2105-upload-files-to-your-repositories) se agregaron incorrecta y directamente al repositorio. + - Las propuestas no pudieron cerrarse si contenían un permalink a un blob en el mismo repositorio en donde la ruta de archvio del blob era más grande a 255 caracteres. + - Cuando se habilita "Los usuarios pueden buscar en GitHub.com" con GitHub Connect, las propuestas en los repositorios privados e internos no se incluirán en los resultados de búsqueda de GitHub.com. + - El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes. + - Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción. + - Los servicios de las acciones necesitan reiniciarse después de restablecer un aplicativo de un respaldo que se llevó a un host diferente. diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-6/0.yml b/translations/es-ES/data/release-notes/enterprise-server/3-6/0.yml index 31eb9186e8..253a21cc89 100644 --- a/translations/es-ES/data/release-notes/enterprise-server/3-6/0.yml +++ b/translations/es-ES/data/release-notes/enterprise-server/3-6/0.yml @@ -25,7 +25,9 @@ sections: - "[Requerir políticas de administración de repositorios en tu empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)" - "[Configurar las llaves de host para tu instancia](/admin/configuration/configuring-your-enterprise/configuring-host-keys-for-your-instance)" - | - You can require TLS encryption for incoming SMTP connections to your instance. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications)." + You can require TLS encryption for incoming SMTP connections to your instance. For more information, see "[Configuring email for notifications](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications#enforcing-tls-for-smtp-connections)." + + - **Note**: This feature is unavailable in GitHub Enterprise Server 3.6.0. The feature will be available in an upcoming release. [Updated: 2022-08-26] - heading: Registros de auditoría notes: @@ -40,7 +42,7 @@ sections: heading: Administrator experience notes: - | - Enterprise owners can join organizations on the instance as a member or owner from the enterprise account's **Organizations** page. For more information, see "[Managing your role in an organization owned by your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)." + Los propietarios de las empresas pueden unirse a las organizaciones en la instancia como miembro o propietario desde la página de **Organizaciones* de la cuenta empresarial. Para obtener más información, consulta la sección "[Administrar tu rol en una organización que le pertenece a tu empresa](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)". - | Enterprise owners can allow users to dismiss the configured global announcement banner. For more information, see "[Customizing user messages for your enterprise](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner)." - @@ -150,12 +152,12 @@ sections: - | Los usuarios pueden bloquear la creación de ramas que coincide con un patrón de nombre configurado con la regla de protección de rama **Restringir subidas que crean ramas coincidentes**. Por ejemplo, si la rama predeterminada de un repositorio cambia de `master` a `main`, un administrador de repositorio puede prevenir cualquier creación o subida subsecuente de la rama `master`. Para obtener más información, consulta la sección "[Acerca de las ramas protegidas](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#restrict-who-can-push-to-matching-branches)" y "[Administrar una regla de protección de rama](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule#creating-a-branch-protection-rule)". - | - Users can create a branch directly from a repository's **Branches** page by clicking the **New branch**. For more information, see "[Creating and deleting branches within your repository](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)." + Los usuarios pueden crear una rama directamente desde la página de **Ramas** de un repositorio haciendo clic en **Rama nueva**. Para obtener más información, consulta la sección "[Crear y borrar ramas dentro de tu repositorio](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)". - | Users can delete a branch that's associated with an open pull request. For more information, see "[Creating and deleting branches within your repository](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)." - | - Repositories with multiple licenses display all of the licenses in the "About" sidebar on the {% octicon "code" aria-label="The code icon" %} **Code** tab. For more information, see "[Licensing a repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - - When a user renames or moves a file to a new directory, if at least half of the file's contents are identical, the commit history indicates that the file was renamed, similar to `git log --follow`. For more information, see the [GitHub Blog](https://github.blog/changelog/2022-06-06-view-commit-history-across-file-renames-and-moves/). + Los repositorios con licencias múltiples muestran todas las licencias en la barra lateral de "Acerca de" en la pestaña de **Código** {% octicon "code" aria-label="The code icon" %}. Para obtener más información, consulta la sección "[Autorizar un repositorio](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)". + - Cuando un usuario renombra o mueve un archivo a un directorio nuevo, si por lo menos la mitad del contenido del archivo es idéntico, el historial de confirmación indican que el archivo se renombró, similar a `git log --follow`. Para obtener más información, consulta el [Blog de GitHub](https://github.blog/changelog/2022-06-06-view-commit-history-across-file-renames-and-moves/). - | Los usuarios pueden requerir un despliegue exitoso de una rama antes de que cualquiera pueda fusionar la solicitud de cambios asociada con ella. Para obtener más información, consulta las secciones "[Acerca de las ramas protegidas](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#require-deployments-to-succeed-before-merging)" y "[Administrar una regla de protección de rama](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule)". - | @@ -181,7 +183,7 @@ sections: notes: - | When viewing the details for a particular release, users can see the creation date for each release asset. For more information, see "[Viewing your repository's releases and tags](/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags)." - - While creating a release with automatically generated release notes, users can see the tag identified as the previous release, then choose to select a different tag to specify as the previous release. For more information, see "[Automatically generated release notes](/repositories/releasing-projects-on-github/automatically-generated-release-notes)." + - Cuando creas un lanzamiento con notas de lanzamiento generadas automáticamente, los usuarios pueden ver la etiqueta identificada como el lanzamiento anterior y luego elegir seleccionar una etiqueta diferente para especificar como el lanzamiento anterior. Para obtener más información, consulta la sección "[Notas de lanzamiento generadas automáticamente](/repositories/releasing-projects-on-github/automatically-generated-release-notes)". - heading: Markdown notes: @@ -210,3 +212,4 @@ sections: - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. - In some cases, users cannot convert existing issues to discussions. - Los patrones personalizados para el escaneo de secretos utilizan `.*` como un delimitador final, específicamente en el campo "Después del secreto". Este delimitador ocasiona inconsistencias en los escaneos que buscan secretos en los repositorios y podrías notar brechas en el historial de un repositorio en donde no hay escaneos completados. Los escaneos en aumento también podrían verse impactados. Para prevenir los problemas con los escaneos, modifica el final del patrón para eliminar el delimitador `.*`. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/es-ES/data/release-notes/enterprise-server/3-6/1.yml b/translations/es-ES/data/release-notes/enterprise-server/3-6/1.yml new file mode 100644 index 0000000000..1fd058621e --- /dev/null +++ b/translations/es-ES/data/release-notes/enterprise-server/3-6/1.yml @@ -0,0 +1,33 @@ +date: '2022-08-30' +sections: + bugs: + - After unlocking a repository for temporary access, a site administrator was unable to manage settings for security products in the repository. + - Duplicate administrative SSH keys could appear in both the Management Console and the `/home/admin/.ssh/authorized_keys` file. + - The site admin page for individual users at http(s)://HOSTNAME/stafftools/users/USERNAME/admin contained functionality not intended for GitHub Enterprise Server. + - In some cases, running `ghe-cluster-config-apply` could replicate an empty configuration to existing nodes in a cluster. + - In some cases, configuration runs started with `ghe-config-apply` did not complete, or returned a `Container count mismatch` error. + - After updating a self-signed TLS certificate on a GitHub Enterprise Server instance, UI elements on some pages in the web interface did not appear. + - In some cases, background tasks could stall due to a library that was used concurrently despite not being thread-safe. + - The site admin bar at the top of the web interface contained a broken link to the SHA for the currently running version of the application. + - Organization owners were unable to set the level of access required to create discussions. + - Discussions users were incorrectly directed to the community guidelines for GitHub.com. + - In some cases, users were incorrectly instructed to verify their email before creating a discussion. + - Alerts from secret scanning for GitHub Advanced Security customers were missing in the web UI and REST API if a site administrator did not upgrade directly to GitHub Enterprise Server 3.4. The alerts are now visible. + changes: + - Generation of support bundles is faster as a result of parallelized log sanitization. For more information about support bundles, see "[Providing data to GitHub Support](/support/contacting-github-support/providing-data-to-github-support)." + - APIs that contain the `organization` or `org` route now accept either the organization's slug or ID. Previously, the APIs only accepted slugs, which caused `Link` headers for GitHub Advanced Security endpoints to be inaccessible. For more information, see "[Organizations](https://docs.github.com/rest/orgs/orgs)" in the REST API documentation. + - 'La bitácora de auditoría ahora incluye más eventos generados por los usuarios, tal como `project.create`. La API de REST también devuelve eventos generados por el usuario, tal como `repo.create`. Para obtener más información, consulta las secciones "[Acceder a la bitácora de auditoría de tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/accessing-the-audit-log-for-your-enterprise)" y "[Utilizar la API de bitácora de auditoría para tu empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise#querying-the-audit-log-rest-api)".' + - In some cases, cache replicas could reject some Git operations on recently updated repositories. For more information about repository caching, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)." + - 'You can now configure the global announcement banner to be dismissable using the REST API. For more information, see "[Customizing user messages for your enterprise](/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-global-announcement-banner)."' + known_issues: + - En una instancia recién configurada de {% data variables.product.prodname_ghe_server %} sin ningún usuario, un atacante podría crear el primer usuario adminsitrador. + - Las reglas de cortafuegos personalizadas se eliminan durante el proceso de actualización. + - Los archivos rastreados del LFS de Git que se [cargaron mediante la interface web](https://github.com/blog/2105-upload-files-to-your-repositories) se agregaron incorrecta y directamente al repositorio. + - Las propuestas no pudieron cerrarse si contenían un permalink a un blob en el mismo repositorio en donde la ruta de archvio del blob era más grande a 255 caracteres. + - Cuando se habilita "Los usuarios pueden buscar en GitHub.com" con GitHub Connect, las propuestas en los repositorios privados e internos no se incluirán en los resultados de búsqueda de GitHub.com. + - El registor de npm del {% data variables.product.prodname_registry %} ya no regresa un valor de tiempo en las respuestas de metadatos. Esto se hizo para permitir mejoras de rendimiento sustanciales. Seguimos teniendo todos los datos necesarios para devolver un valor de tiempo como parte de la respuesta de metadatos y terminaremos de devolver este valor ene l futuro una vez que hayamos resuelto los problemas de rendimiento existentes. + - Los límites de recursos que son específicos para procesar ganchos de pre-recepción podrían ocasionar que fallen algunos ganchos de pre-recepción. + - Actions services need to be restarted after restoring an instance from a backup taken on a different host. + - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. + - In some cases, users cannot convert existing issues to discussions. + - Los patrones personalizados para el escaneo de secretos utilizan `.*` como un delimitador final, específicamente en el campo "Después del secreto". Este delimitador ocasiona inconsistencias en los escaneos que buscan secretos en los repositorios y podrías notar brechas en el historial de un repositorio en donde no hay escaneos completados. Los escaneos en aumento también podrían verse impactados. Para prevenir los problemas con los escaneos, modifica el final del patrón para eliminar el delimitador `.*`. diff --git a/translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md b/translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 0000000000..54e9e2a2ba --- /dev/null +++ b/translations/es-ES/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. For each of your accounts, create a dedicated PAT with `repo` scope. Para obtener más información, consulta la sección "[Crear un token de acceso personal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)". \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/about-runner-groups.md b/translations/es-ES/data/reusables/actions/about-runner-groups.md new file mode 100644 index 0000000000..35545c801c --- /dev/null +++ b/translations/es-ES/data/reusables/actions/about-runner-groups.md @@ -0,0 +1,18 @@ +{% ifversion fpt %} +{% note %} + +**Note:** All organizations have a single default runner group. Only enterprise accounts and organizations owned by enterprise accounts can create and manage additional runner groups. + +{% endnote %} + +Runner groups are used to control access to runners. Los administradores de las organizaciones pueden configurar políticas de acceso que controlen qué repositorios en una organización tienen acceso al grupo de ejecutores. + +If you use {% data variables.product.prodname_ghe_cloud %}, you can create additional runner groups; enterprise admins can configure access policies that control which organizations in an enterprise have access to the runner group; and organization admins can assign additional granular repository access policies to the enterprise runner group. +{% endif -%} +{% ifversion ghec or ghes or ghae %} + +{% data reusables.actions.runner-group-enterprise-overview %} + +Cuando se crean nuevos ejecutores, se asignan automáticamente al grupo predeterminado. Los ejecutores solo pueden estar en un grupo a la vez. Puedes mover los ejecutores del grupo predeterminado a otro grupo. For more information, see "[Moving a runner to a group](#moving-a-runner-to-a-group)." + +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/actions-billing.md b/translations/es-ES/data/reusables/actions/actions-billing.md index c727e59086..edfda614a4 100644 --- a/translations/es-ES/data/reusables/actions/actions-billing.md +++ b/translations/es-ES/data/reusables/actions/actions-billing.md @@ -1 +1 @@ -El uso de {% data variables.product.prodname_actions %} es gratuito tanto para los repositorios públicos como para los ejecutores auto-hospedados. Para los repositorios privados, cada cuenta de {% data variables.product.prodname_dotcom %} recibe una cantidad determinada de minutos y almacenamiento gratuitos dependiendo del producto que se utilice con la cuenta. Cualquier uso que no se contemple en las cantidades incluidas se controla con los límites de gasto. +{% data variables.product.prodname_actions %} usage is free for standard {% data variables.product.prodname_dotcom %}-hosted runners in public repositories, and for self-hosted runners. For private repositories, each {% data variables.product.prodname_dotcom %} account receives a certain amount of free minutes and storage for use with {% data variables.product.prodname_dotcom %}-hosted runners, depending on the product used with the account. Cualquier uso que no se contemple en las cantidades incluidas se controla con los límites de gasto. diff --git a/translations/es-ES/data/reusables/actions/add-hosted-runner-overview.md b/translations/es-ES/data/reusables/actions/add-hosted-runner-overview.md new file mode 100644 index 0000000000..bdd66230ca --- /dev/null +++ b/translations/es-ES/data/reusables/actions/add-hosted-runner-overview.md @@ -0,0 +1,3 @@ +You can choose an operating system and a hardware configuration from the list of available options. When new instances of this runner are deployed through autoscaling, they'll use the same operating system and hardware configuration you've defined here. + +You can also define the labels that identify the runner, which is how your workflows will be able to send jobs to the runners for processing (using `runs-on`). New runners are automatically assigned to the default group, or you can choose which group the runners must join during the runner creation process. In addition, you can modify the runner's group membership after you've registered the runner. For more information, see "[Controlling access to {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)." \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/add-hosted-runner.md b/translations/es-ES/data/reusables/actions/add-hosted-runner.md new file mode 100644 index 0000000000..d533864a2e --- /dev/null +++ b/translations/es-ES/data/reusables/actions/add-hosted-runner.md @@ -0,0 +1,11 @@ +1. Click **New runner**, then click **{% octicon "mark-github" aria-label="New hosted runner" %} New Github-hosted runner**. +1. Complete the required details to configure your new runner: + + - **Name**: Enter a name for your new runner. For easier identification, this should indicate its hardware and operating configuration, such as `ubuntu-20.04-16core`. + - **Runner image**: Choose an operating system from the available options. Once you've selected an operating system, you will be able to choose a specific version. + - **Runner size**: Choose a hardware configuration from the drop-down list of available options. + - **Auto-scaling**: Choose the maximum number of runners that can be active at any time. + - **Runner group**: Choose the group that your runner will be a member of. This group will host multiple instances of your runner, as they scale up and down to suit demand. + - **Networking**: Only for {% data variables.product.prodname_ghe_cloud %}: Choose whether a static IP address range will be assigned to instances of the {% data variables.actions.hosted_runner %}. You can use up to 10 static IP addresses in total. + +1. Click **Create runner**. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/automatically-adding-a-runner-to-a-group.md b/translations/es-ES/data/reusables/actions/automatically-adding-a-runner-to-a-group.md new file mode 100644 index 0000000000..2a0ad86c2a --- /dev/null +++ b/translations/es-ES/data/reusables/actions/automatically-adding-a-runner-to-a-group.md @@ -0,0 +1,11 @@ +You can use the configuration script to automatically add a new runner to a group. For example, this command registers a new runner and uses the `--runnergroup` parameter to add it to a group named `rg-runnergroup`. + +```sh +./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup +``` + +El comando fallará si el grupo de ejecutores no existe: + +``` +Could not find any self-hosted runner group named "rg-runnergroup". +``` \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md b/translations/es-ES/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md new file mode 100644 index 0000000000..80bd92c917 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/changing-the-access-policy-of-a-runner-group.md @@ -0,0 +1,38 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +En el caso de los grupos de ejecutores en una empresa, puedes cambiar qué organizaciones dentro de ella pueden acceder a un grupo de ejecutores{% ifversion restrict-groups-to-workflows %} o restringir qué flujos de trabajo puede ejecutar un grupo de ejecutores{% endif %}. En el caso de los grupos de ejecutores en una organización, puedes cambiar qué repositorios en ella pueden acceder a un grupo de ejecutores{% ifversion restrict-groups-to-workflows %} o restringir qué flujos de trabajo puede ejecutar un grupo de ejecutores{% endif %}. + +### Cambiar qué organizaciones o repositorios pueden acceder a un grupo de ejecutores + +{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. En el caso de los grupos de ejecutores en una empresa, debajo de **Acceso organizacional**, modifica qué organizaciones pueden acceder al grupo de ejecutores. En el caso de los grupos de ejecutores en una organización, debajo de **Acceso al repositorio**, modifica aquellos a los que puede acceder este grupo. + +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.configure-runner-group-access %} +{% endif %} + +{% ifversion restrict-groups-to-workflows %} +### Cambiar los flujos de trabajo a los cuales puede acceder un grupo de ejecutores +You can configure a runner group to run either selected workflows or all workflows. For example, you might use this setting to protect secrets that are stored on runners or to standardize deployment workflows by restricting a runner group to run only a specific reusable workflow. Este ajuste no se puede anular si estás configurando un grupo de ejecutores de una organización que haya compartido una empresa. +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. Debajo de **Acceso al flujo de trabajo**, selecciona el menú desplegable y haz clic en **Flujos de trabajo selectos**. +1. Da clic en {% octicon "gear" aria-label="the gear icon" %}. +1. Ingresa una lista separada por comas de los flujos de trabajo que pueden acceder al grupo de ejecutores. Utiliza la ruta completa, incluyendo el nombre y propietario del repositorio. Fija el flujo de trabajo a una rama, etiqueta o SHA completo. Por ejemplo: `octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main`. + + Solo los jobs que se definan directamente dentro de los flujos de trabajo seleccionados tendrán acceso al grupo de ejecutores. + + Los grupos de ejecutores que pertenecen a la organización no pueden acceder a los flujos de trabajo de otra organización de la empresa; en vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa. + +1. Haz clic en **Save ** (guardar). + +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/changing-the-name-of-a-runner-group.md b/translations/es-ES/data/reusables/actions/changing-the-name-of-a-runner-group.md new file mode 100644 index 0000000000..98675a00cf --- /dev/null +++ b/translations/es-ES/data/reusables/actions/changing-the-name-of-a-runner-group.md @@ -0,0 +1,9 @@ +{% ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5091 %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +{% data reusables.actions.settings-sidebar-actions-runner-groups-selection %} +1. Cambia el nombre del grupo de ejecutores. + +{% elsif ghae or ghes < 3.4 %} +{% data reusables.actions.configure-runner-group %} +1. Cambia el nombre del grupo de ejecutores. +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-configure-runner-group-access.md b/translations/es-ES/data/reusables/actions/configure-runner-group-access.md similarity index 85% rename from translations/es-ES/data/reusables/actions/self-hosted-runner-configure-runner-group-access.md rename to translations/es-ES/data/reusables/actions/configure-runner-group-access.md index 95625acb8a..3ee0e31513 100644 --- a/translations/es-ES/data/reusables/actions/self-hosted-runner-configure-runner-group-access.md +++ b/translations/es-ES/data/reusables/actions/configure-runner-group-access.md @@ -1,4 +1,4 @@ -{% data reusables.actions.self-hosted-runner-configure-runner-group %} +{% data reusables.actions.configure-runner-group %} 1. Modifica las opciones de tu política. {% ifversion not ghae %} diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-configure-runner-group.md b/translations/es-ES/data/reusables/actions/configure-runner-group.md similarity index 100% rename from translations/es-ES/data/reusables/actions/self-hosted-runner-configure-runner-group.md rename to translations/es-ES/data/reusables/actions/configure-runner-group.md diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-create-group.md b/translations/es-ES/data/reusables/actions/create-runner-group.md similarity index 100% rename from translations/es-ES/data/reusables/actions/self-hosted-runner-create-group.md rename to translations/es-ES/data/reusables/actions/create-runner-group.md diff --git a/translations/es-ES/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md b/translations/es-ES/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md new file mode 100644 index 0000000000..95543bf602 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/creating-a-runner-group-for-an-enterprise.md @@ -0,0 +1,28 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +Enterprises can add their runners to groups for access management. Enterprises can create groups of runners that are accessible to specific organizations in the enterprise account{% ifversion restrict-groups-to-workflows %} or to specific workflows{% endif %}. Los propietarios de organizaciones pueden entonces asignar políticas de acceso adicionales y granulares para los repositorios{% ifversion restrict-groups-to-workflows %} o flujos de trabajo{% endif %} a los grupos de ejecutores empresariales. For information about how to create a runner group with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/reference/actions#self-hosted-runner-groups). + +Runners are automatically assigned to the default group when created, and can only be members of one group at a time. Puedes asignar el ejecutor a un grupo específico durante el proceso de registro o puedes moverlo después desde el grupo predeterminado a un grupo personalizado. + +Cuando creas un grupo, debes elegir la política que defina qué organizaciones tienen acceso al grupo de ejecutores. + +{% data reusables.actions.runner-groups-add-to-enterprise-first-steps %} +1. Para elegir una política para el acceso organizacional, selecciona el menú desplegable **Acceso organizacional** y haz clic en una política. Puedes configurar un grupo de ejecutores para que sea accesible a una lista de organizaciones específica o a todas las organizaciones en la empresa.{% ifversion ghes %} Predeterminadamente, solo los repositorios privados pueden acceder a los ejecutores en un grupo, pero esto se puede anular.{% endif %} + + {%- ifversion ghec or ghes %} + + ![Agregar opciones de un grupo de ejecutores](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options.png) + {%- elsif ghae %} + + ![Agregar opciones de un grupo de ejecutores](/assets/images/help/settings/actions-enterprise-account-add-runner-group-options-ae.png) + {%- endif %} +{% data reusables.actions.runner-group-assign-policy-workflow %} +1. Da clic en **Guardar grupo** para crear el grupo y aplicar la política. + diff --git a/translations/es-ES/data/reusables/actions/creating-a-runner-group-for-an-organization.md b/translations/es-ES/data/reusables/actions/creating-a-runner-group-for-an-organization.md new file mode 100644 index 0000000000..c063f891a0 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/creating-a-runner-group-for-an-organization.md @@ -0,0 +1,38 @@ +{% comment %} + +Always include a security admonition above this procedure. This is either one of the following, depending on whether the context is self-hosted runners or larger runners. + +{% data reusables.actions.self-hosted-runner-security-admonition %} +{% data reusables.actions.hosted-runner-security-admonition %} + +{% endcomment %} + +All organizations have a single default runner group. Organizations within an enterprise account can create additional groups. Los administradores de la organización pueden permitir el acceso de los repositorios individuales a un grupo de ejecutores. For information about how to create a runner group with the REST API, see "[Self-hosted runner groups](/rest/reference/actions#self-hosted-runner-groups)." + +Runners are automatically assigned to the default group when created, and can only be members of one group at a time. Puedes mover un ejecutor del grupo predeterminado a cualquier grupo que crees. + +Cuando creas un grupo, debes elegir la política que define qué reositorios{% ifversion restrict-groups-to-workflows %} y flujos de trabajo{% endif %} tienen acceso al grupo ejecutor. + +{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} +1. En la sección de "Grupos de ejecutores", haz clic en **Grupo de ejecutores nuevo**. +1. Ingresa un nombre para tu grupo ejecutor. + {% data reusables.actions.runner-group-assign-policy-repo %} +{% data reusables.actions.runner-group-assign-policy-workflow %}{%- ifversion restrict-groups-to-workflows %}Los grupos ejecutores que pertenecen a las organizaciones no pueden acceder a los flujos de trabajo de una organización diferente en la empresa. En vez de esto, debes crear un grupo de ejecutores que pertenezca a la empresa.{% endif %} +{% data reusables.actions.create-runner-group %} +{% elsif ghae or ghes < 3.4 %} +{% data reusables.organizations.navigate-to-org %} +{% data reusables.organizations.org_settings %} +{% data reusables.organizations.settings-sidebar-actions-runner-groups %} +1. Debajo de {% ifversion ghes or ghae %}"Ejecutores"{% endif %}, haz clic en **Agregar nuevo** y luego en **Grupo nuevo**. + + ![Agregar un grupo de ejecutores](/assets/images/help/settings/actions-org-add-runner-group.png) +1. Ingresa un nombre para tu grupo de ejecutores y asigna una política para el acceso al repositorio. + + Puedes configurar un grupo de ejecutores para que una lista de repositorios específica o todos los repositorios de la organización puedan acceder a él.{% ifversion ghec or ghes %} Predeterminadamente solo los repositorios privados pueden acceder a los ejecutores de un grupo de ejecutores, pero esto se puede omitir. Esta configuración no puede anularse si se configura un grupo ejecutor de la organización que haya compartido una empresa.{% endif %} + + ![Agregar opciones de un grupo de ejecutores](/assets/images/help/settings/actions-org-add-runner-group-options.png) +1. Da clic en **Guardar grupo** para crear el grupo y aplicar la política. +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/hosted-runner-security-admonition.md b/translations/es-ES/data/reusables/actions/hosted-runner-security-admonition.md new file mode 100644 index 0000000000..f1b63416c0 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/hosted-runner-security-admonition.md @@ -0,0 +1,5 @@ +{% warning %} + +**Advertencia**: {% data reusables.actions.hosted-runner-security %} + +{% endwarning %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/hosted-runner-security.md b/translations/es-ES/data/reusables/actions/hosted-runner-security.md new file mode 100644 index 0000000000..ed12d189db --- /dev/null +++ b/translations/es-ES/data/reusables/actions/hosted-runner-security.md @@ -0,0 +1,3 @@ +We recommend that you only use {% data variables.actions.hosted_runner %}s with private repositories: +- Forks of your repository can potentially run dangerous code on your {% data variables.actions.hosted_runner %} by creating a pull request that executes the code in a workflow. +- You could incur unexpected costs if you allow forked repositories to run jobs on your {% data variables.actions.hosted_runner %}s. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/jobs/section-running-jobs-in-a-container.md b/translations/es-ES/data/reusables/actions/jobs/section-running-jobs-in-a-container.md index 7402626c76..592406a995 100644 --- a/translations/es-ES/data/reusables/actions/jobs/section-running-jobs-in-a-container.md +++ b/translations/es-ES/data/reusables/actions/jobs/section-running-jobs-in-a-container.md @@ -2,6 +2,12 @@ Utiliza `jobs..container` para crear un contenedor para ejecutar cualqui Si no configuras un `container`, todos los pasos se ejecutan directamente en el host especificado por `runs-on` a menos que un paso se refiera a una acción configurada para ejecutarse en un contenedor. +{% note %} + +**Note:** The default shell for `run` steps inside a container is `sh` instead of `bash`. This can be overridden with [`jobs..defaults.run`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_iddefaultsrun) or [`jobs..steps[*].shell`](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell). + +{% endnote %} + ### Ejemplo: Ejecutar un job dentro de un contenedor ```yaml{:copy} diff --git a/translations/es-ES/data/reusables/actions/macos-runner-preview.md b/translations/es-ES/data/reusables/actions/macos-runner-preview.md index c9b93aecbe..b1bb2b899c 100644 --- a/translations/es-ES/data/reusables/actions/macos-runner-preview.md +++ b/translations/es-ES/data/reusables/actions/macos-runner-preview.md @@ -1 +1 @@ -The macos-latest YAML workflow label currently uses the macOS 10.15 runner image. +La etiqueta de flujo de trabajo de YAML macos-latest utiliza actualmente la imagen de ejecutor de macOS 10.15. diff --git a/translations/es-ES/data/reusables/actions/moving-a-runner-to-a-group.md b/translations/es-ES/data/reusables/actions/moving-a-runner-to-a-group.md new file mode 100644 index 0000000000..04aea1e6a3 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/moving-a-runner-to-a-group.md @@ -0,0 +1,12 @@ +If you don't specify a runner group during the registration process, your new runners are automatically assigned to the default group, and can then be moved to another group. + +{% data reusables.actions.self-hosted-runner-navigate-to-org-enterprise %} +{% ifversion ghec or ghes > 3.3 or ghae-issue-5091 %} +1. En la lista de "Ejecutores", haz clic en aquél que quieras configurar. +2. Selecciona el menú desplegable de **Grupo de ejecutores**. +3. En "Mover el ejecutor al grupo", elige un grupo destino para el ejecutor. +{% elsif ghae or ghes < 3.4 %} +1. En la sección {% ifversion ghes or ghae %}"Grupos de ejecutores"{% endif %} de la página de ajustes, ubica el grupo actual del ejecutor que quieras mover y expande la lista de miembros del grupo. ![Ver los miembros de un grupo de ejecutores](/assets/images/help/settings/actions-org-runner-group-members.png) +2. Selecciona la casilla junto al ejecutor auto-hospedado y da clic en **Mover a grupo** para ver los destinos disponibles. ![Mover a un miembro de un grupo de ejecutores](/assets/images/help/settings/actions-org-runner-group-member-move.png) +3. Para mover el ejecutor, da clic en el grupo de destino. ![Mover a un miembro de un grupo de ejecutores](/assets/images/help/settings/actions-org-runner-group-member-move-destination.png) +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/pure-javascript.md b/translations/es-ES/data/reusables/actions/pure-javascript.md index cf574fb47a..09e1e36ce5 100644 --- a/translations/es-ES/data/reusables/actions/pure-javascript.md +++ b/translations/es-ES/data/reusables/actions/pure-javascript.md @@ -1 +1 @@ -Para garantizar que tus acciones de JavaScript son compatibles con todos los ejecutores hospedados en GitHub (Ubuntu, Windows, y macOS), el código empaquetado de JavaScript que escribas debe ser puramente JavaScript y no depender de otros binarios. JavaScript actions run directly on the runner and use binaries that already exist in the runner image. +Para garantizar que tus acciones de JavaScript son compatibles con todos los ejecutores hospedados en GitHub (Ubuntu, Windows, y macOS), el código empaquetado de JavaScript que escribas debe ser puramente JavaScript y no depender de otros binarios. Las acciones de JavaScript se ejecutan directamente en el ejecutor y utilizan binarios que ya existen en la imagen ejecutora. diff --git a/translations/es-ES/data/reusables/actions/removing-a-runner-group.md b/translations/es-ES/data/reusables/actions/removing-a-runner-group.md new file mode 100644 index 0000000000..11a2c8ffba --- /dev/null +++ b/translations/es-ES/data/reusables/actions/removing-a-runner-group.md @@ -0,0 +1,9 @@ +Runners are automatically returned to the default group when their group is removed. + +{% ifversion ghes or ghae or ghec %} +{% data reusables.actions.runner-groups-navigate-to-repo-org-enterprise %} +1. En la lista de grupos, a la derecha del grupo que quieras borrar, haz clic en {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. +2. Para eliminar el grupo, da clic en **Eliminar grupo**. +3. Revisa el mensaje de confirmación y da clic en **Eliminar este grupo de ejecutores**. Any runners still in this group will be automatically moved to the default group, where they will inherit the access permissions assigned to that group. + +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/runner-group-enterprise-overview.md b/translations/es-ES/data/reusables/actions/runner-group-enterprise-overview.md new file mode 100644 index 0000000000..2ff508d5ea --- /dev/null +++ b/translations/es-ES/data/reusables/actions/runner-group-enterprise-overview.md @@ -0,0 +1,3 @@ +Runner groups are used to control access to runners at the organization and enterprise level. Enterprise owners can configure access policies that control which organizations {% ifversion restrict-groups-to-workflows %}and workflows {% endif %}in an enterprise have access to the runner group. Los propietarios de las organizaciones pueden configurar las políticas de acceso que controlan qué repositorios{% ifversion restrict-groups-to-workflows %} y flujos de trabajo{% endif %} en una organización tienen aceso al grupo de ejecutores. + +When an enterprise owner grants access to a runner group, organization owners can see the runner group listed in the organization's runner settings. Los propietarios organizacionales pueden entonces asignar políticas de acceso adicionales y granulares para los repositorios{% ifversion restrict-groups-to-workflows %} y flujos de trabajo{% endif %} al grupo ejecutor de la empresa. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-groups-add-to-enterprise-first-steps.md b/translations/es-ES/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md similarity index 100% rename from translations/es-ES/data/reusables/actions/self-hosted-runner-groups-add-to-enterprise-first-steps.md rename to translations/es-ES/data/reusables/actions/runner-groups-add-to-enterprise-first-steps.md diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md b/translations/es-ES/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md similarity index 78% rename from translations/es-ES/data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md rename to translations/es-ES/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md index 61f5eda298..6e56926609 100644 --- a/translations/es-ES/data/reusables/actions/self-hosted-runner-groups-navigate-to-repo-org-enterprise.md +++ b/translations/es-ES/data/reusables/actions/runner-groups-navigate-to-repo-org-enterprise.md @@ -1,9 +1,9 @@ {% ifversion fpt %} -1. Navega a la página principal del repositorio u organización en donde se ubican tus grupos de ejecutores auto-hospedados. +1. Navigate to the main page of the repository or organization where your runner groups are located. 2. Haz clic en {% octicon "gear" aria-label="The Settings gear" %} **Ajustes**. {% data reusables.organizations.settings-sidebar-actions-runner-groups %} {% elsif ghec or ghes or ghae %} -1. Navega a donde se ubiquen tus grupos de ejecutores auto-hospedados: +1. Navigate to where your runner groups are located: * **En una organización**: navega a la página principal y da clic en {% octicon "gear" aria-label="The Settings gear" %} **Configuración**. * **Si utilizas un grupo a nivel de empresa**: @@ -12,7 +12,7 @@ * **En una organización**: {% indented_data_reference reusables.actions.settings-ui.settings-actions-runner-groups spaces=5 %} - * **Si estás utilizando un grupo a nivel de empresa**: + * **Si utilizas un grupo a nivel de empresa**: {% indented_data_reference reusables.enterprise-accounts.policies-tab spaces=5 %} {% indented_data_reference reusables.enterprise-accounts.actions-tab spaces=5 %} diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-add-to-enterprise.md b/translations/es-ES/data/reusables/actions/self-hosted-runner-add-to-enterprise.md index 9d6c8982fa..99d17e99ef 100644 --- a/translations/es-ES/data/reusables/actions/self-hosted-runner-add-to-enterprise.md +++ b/translations/es-ES/data/reusables/actions/self-hosted-runner-add-to-enterprise.md @@ -3,7 +3,7 @@ {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.actions-tab %} {% data reusables.enterprise-accounts.actions-runners-tab %} -1. Haz clic en **Ejecutor nuevo**. +{% ifversion actions-hosted-runners %}1. Click **New runner**, then click **New self-hosted runner**.{% else %}1. Click **New runner**.{% endif %} {% data reusables.actions.self-hosted-runner-configure %} {%- elsif ghae or ghes < 3.4 %} Para agregar un ejecutor auto-hospedado a una empresa, debes ser el propietario de la misma. diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md b/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md index c20c6c6c03..b9845777a0 100644 --- a/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md +++ b/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-org-enterprise.md @@ -3,7 +3,7 @@ 2. Haz clic en {% octicon "gear" aria-label="The Settings gear" %} **Ajustes**. {% data reusables.organizations.settings-sidebar-actions-runners %} {% elsif ghec or ghes or ghae %} -1. Navega a donde está registrado tu ejecutor auto-hospedado: +1. Navigate to where your runner is registered: * **En una organización**: navega a la página principal y da clic en {% octicon "gear" aria-label="The Settings gear" %} **Configuración**. * **Si utilizas un ejecutor a nivel de empresa**: diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md b/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md index 7cc1905a0d..bd56df8613 100644 --- a/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md +++ b/translations/es-ES/data/reusables/actions/self-hosted-runner-navigate-to-repo-org-enterprise.md @@ -3,7 +3,7 @@ 2. Haz clic en {% octicon "gear" aria-label="The Settings gear" %} **Ajustes**. {% data reusables.organizations.settings-sidebar-actions-runners %} {% elsif ghec or ghes or ghae %} -1. Navega a donde está registrado tu ejecutor auto-hospedado: +1. Navigate to where your runner is registered: * **En un repositorio organizacional**: navega a la página principal y da clic en {% octicon "gear" aria-label="The Settings gear" %} **Configuración**. * **Si utilizas un ejecutor a nivel de empresa**: diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-security-admonition.md b/translations/es-ES/data/reusables/actions/self-hosted-runner-security-admonition.md new file mode 100644 index 0000000000..7e9c6569c9 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/self-hosted-runner-security-admonition.md @@ -0,0 +1,7 @@ +{% warning %} + +**Advertencia**: {% data reusables.actions.self-hosted-runner-security %} + +Para obtener más información, consulta "[Acerca de los ejecutores autoalojados](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories)." + +{% endwarning %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/self-hosted-runner-security.md b/translations/es-ES/data/reusables/actions/self-hosted-runner-security.md index 6fcaa4b256..f4f3943025 100644 --- a/translations/es-ES/data/reusables/actions/self-hosted-runner-security.md +++ b/translations/es-ES/data/reusables/actions/self-hosted-runner-security.md @@ -1 +1 @@ -Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que tu repositorio podría ejecutar código peligroso en tu máquina de ejecutor auto-hospedado potencialmente al crear una solicitud de cambios que excluya el código en un flujo de trabajo. +Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. This is because forks of your public repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that executes the code in a workflow. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/actions/supported-github-runners.md b/translations/es-ES/data/reusables/actions/supported-github-runners.md index 64c4a3ace3..c53db4b4e8 100644 --- a/translations/es-ES/data/reusables/actions/supported-github-runners.md +++ b/translations/es-ES/data/reusables/actions/supported-github-runners.md @@ -1,7 +1,7 @@ - + @@ -54,7 +54,7 @@ Ubuntu 18.04 [deprecated]ubuntu-18.04 @@ -92,7 +92,7 @@ Migra a macOS-11 o macOS-12. Para obtener más informa {% note %} -**Note:** The `-latest` runner images are the latest stable images that {% data variables.product.prodname_dotcom %} provides, and might not be the most recent version of the operating system available from the operating system vendor. +**Nota:** Las imágenes de ejecutor catalogadas como `-latest` son las imágenes más recientes que proporciona {% data variables.product.prodname_dotcom %} y podrían no ser la versión más reciente del sistema operativo disponible desde el proveedor de este. {% endnote %} diff --git a/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md b/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md index 0650fa54d8..52c9c5e17c 100644 --- a/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md +++ b/translations/es-ES/data/reusables/actions/upgrade-runners-before-upgrade-ghes.md @@ -1 +1 @@ -If you use ephemeral runners and have disabled automatic updates, before you upgrade {% data variables.product.product_location %}, you should first upgrade your self-hosted runners to the version of the runner application that your upgraded instance will run. Upgrading {% data variables.product.product_location %} before you upgrade ephemeral runners may result in your runners going offline. Para obtener más información, consulta "[Actualizar {% data variables.product.product_name %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." +Si utilizas ejecutores efímeros e inhabilitaste las actualizaciones automáticas, antes de que mejores a {% data variables.product.product_location %}, primero debes mejorar tus ejecutores auto-hospedados a la versión de la aplicación ejecutora que ejecutará tu instancias mejorada. El mejorar {% data variables.product.product_location %} antes de que mejores los ejecutores efímeros podría dar como resultado que estos se queden sin conexión. Para obtener más información, consulta "[Actualizar {% data variables.product.product_name %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)." diff --git a/translations/es-ES/data/reusables/actions/use-request-body-api.md b/translations/es-ES/data/reusables/actions/use-request-body-api.md new file mode 100644 index 0000000000..1d37d0c4f0 --- /dev/null +++ b/translations/es-ES/data/reusables/actions/use-request-body-api.md @@ -0,0 +1 @@ +To apply this configuration, submit a request to the API endpoint and include the required configuration in the request body. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". \ No newline at end of file diff --git a/translations/es-ES/data/reusables/advanced-security/custom-link-beta.md b/translations/es-ES/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 0000000000..a79fc22417 --- /dev/null +++ b/translations/es-ES/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to add resource links to blocked push messages is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md b/translations/es-ES/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md index ae1e8e39ec..ed0d8a8dbc 100644 --- a/translations/es-ES/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md +++ b/translations/es-ES/data/reusables/advanced-security/secret-scanning-dry-run-select-enterprise-repos.md @@ -1,7 +1,7 @@ {%- ifversion custom-pattern-dry-run-ga %} -1. Search for and select up to 10 repositories where you want to perform the dry run. ![Screenshot showing repositories selected for the dry run](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo-only.png) +1. Busca y selecciona hasta 10 repositorios en donde quieras realizar la simulación. ![Screenshot showing repositories selected for the dry run](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo-only.png) 1. When you're ready to test your new custom pattern, click **Run**. {%- else %} -1. Search for and select up to 10 repositories where you want to perform the dry run. ![Screenshot showing repositories selected for the dry run](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo.png) +1. Busca y selecciona hasta 10 repositorios en donde quieras realizar la simulación. ![Screenshot showing repositories selected for the dry run](/assets/images/help/repository/secret-scanning-dry-run-custom-pattern-select-repo.png) 1. Cuando estés listo para probar tu nuevo patrón personalizado, haz clic en **Simulacro**. {%- endif %} diff --git a/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md index c6e78d4033..0b25b4d034 100644 --- a/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md +++ b/translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -1,2 +1,6 @@ 1. Debajo de "{% data variables.product.prodname_secret_scanning_caps %}" y debajo de "Protección contra subida", haz clic en **Habilitar todo**. ![Captura de pantalla que muestra cómo habilitar la protección de subida para el {% data variables.product.prodname_secret_scanning %} en una organización](/assets/images/help/organizations/secret-scanning-enable-push-protection.png) -1. Opcionalmente, haz clic en "Habilitar automáticamente para los repositorios privados agregados al {% data variables.product.prodname_secret_scanning %}". +1. Opcionalmente, haz clic en "Habilitar automáticamente los repositorios privados agregados al {% data variables.product.prodname_secret_scanning %}".{% ifversion push-protection-custom-link-orgs %} +1. Opcionalmente, para incluir un enlace personalizado en el mensaje, el cual verán los miembros cuando intenten subir un secreto, selecciona **Agregar un enlace de recurso en el CLI e IU web cuando se bloquee un comentario** y después escribe una URL y haz clic en **Guardar enlace**. + {% ifversion push-protection-custom-link-orgs-beta %}{% indented_data_reference reusables.advanced-security.custom-link-beta spaces=3 %}{% endif %} + + ![Captura de pantalla que muestra la casilla de verificación y campo de texto para habilitar un enlace personalizado](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md b/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md index 95ac8b41f7..a106c4569e 100644 --- a/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md +++ b/translations/es-ES/data/reusables/audit_log/audit-log-action-categories.md @@ -93,51 +93,51 @@ {%- ifversion fpt or ghec %} | `profile_picture` | Contains activities related to an organization's profile picture. {%- endif %} -| `project` | Contains activities related to project boards. | `project_field` | Contains activities related to field creation and deletion in a project board. | `project_view` | Contains activities related to view creation and deletion in a project board. | `protected_branch` | Contains activities related to protected branches. | `public_key` | Contains activities related to SSH keys and deploy keys. | `pull_request` | Contains activities related to pull requests. | `pull_request_review` | Contains activities related to pull request reviews. | `pull_request_review_comment` | Contains activities related to pull request review comments. | `repo` | Contains activities related to the repositories owned by an organization. +| `project` | Contiene actividades relacionadas con los tableros de proyecto. | `project_field` | Contiene actividades relacionadas con la creación y borrado de campos en un tablero de proyecto. | `project_view` | Contiene actividades relacionadas con ver la creación y el borrado de un tablero de proyecto. | `protected_branch` | Contiene actividades relacionadas con ramas protegidas. | `public_key` | Contiene actividades relacionadas con llaves SSH y llaves de despliegue. | `pull_request` | Contiene actividades relacionadas con solicitudes de cambio. | `pull_request_review` | Contiene actividades relacionadas con revisiones de solicitudes de cambios. | `pull_request_review_comment` | Contiene actividades relacionadas con comentarios de revisión en solicitudes de cambio. | `repo` | Contiene actividades relacionadas con los repositorios que le pertenecen a una organización. {%- ifversion fpt or ghec %} -| `repository_advisory` | Contains repository-level activities related to security advisories in the {% data variables.product.prodname_advisory_database %}. Para obtener más información, consulta la sección "[Acerca de las asesorías de seguridad de {% data variables.product.prodname_dotcom %}](/github/managing-security-vulnerabilities/about-github-security-advisories)". | `repository_content_analysis` | Contains activities related to [enabling or disabling data use for a private repository](/articles/about-github-s-use-of-your-data). | `repository_dependency_graph` | Contains repository-level activities related to enabling or disabling the dependency graph for a {% ifversion fpt or ghec %}private {% endif %}repository. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)". +| `repository_advisory` | Contiene actividades a nivel de repositorio relacionadas con asesorías de seguridad en la {% data variables.product.prodname_advisory_database %}. Para obtener más información, consulta la sección "[Acerca de las asesorías de seguridad de {% data variables.product.prodname_dotcom %}](/github/managing-security-vulnerabilities/about-github-security-advisories)". | `repository_content_analysis` | Contiene actividades relacionadas con [habilitar o inhabilitar el uso de datos para un repositorio privado](/articles/about-github-s-use-of-your-data). | `repository_dependency_graph` | Contiene actividades a nivel de repositorio relacionadas con habilitar o inhabilitar la gráfica de dependencias para un repositorio {% ifversion fpt or ghec %}privado{% endif %}. Para obtener más información, consulta la sección "[Acerca de la gráfica de dependencias](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)". {%- endif %} -| `repository_image` | Contains activities related to images for a repository. | `repository_invitation` | Contains activities related to invitations to join a repository. | `repository_projects_change` | Contains activities related to enabling projects for a repository or for all repositories in an organization. +| `repository_image` | Contiene actividades relacionadas con imágenes para un repositorio. | `repository_invitation` | Contiene actividades relacionadas con invitaciones para unirse a un repositorio. | `repository_projects_change` | Contiene actividades relacionadas con habilitar proyectos para un repositorio o para todos los repositorios de una organización. {%- ifversion ghec or ghes or ghae %} -| `repository_secret_scanning` | Contains repository-level activities related to secret scanning. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). +| `repository_secret_scanning` | Contiene actividades a nivel de repositorio relacionadas con el escaneo de secretos. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). {%- endif %} {%- ifversion secret-scanning-audit-log-custom-patterns %} -| `repository_secret_scanning_custom_pattern` | Contains activities related to secret scanning custom patterns in a repository. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)". |{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %}| | `repository_secret_scanning_push_protection` | Contains activities related to secret scanning custom patterns in a repository. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". +| `repository_secret_scanning_custom_pattern` | Contiene actividades relacionadas con el escaneo de secretos en patrones personalizados de un repositorio. Para obtener más información, consulta la sección "[Definir los patrones personalizados para el escaneo de secretos](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)". |{% endif %}{% ifversion secret-scanning-audit-log-custom-patterns %}| | `repository_secret_scanning_push_protection` | Contiene actividades relacionadas con el escaneo de secretos en patrones personalizados en un repositorio. Para obtener más información, consulta la sección "[Proteger las subidas de información con el escaneo de secretos](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)". {%- endif %} {%- ifversion fpt or ghec %} -| `repository_visibility_change` | Contains activities related to allowing organization members to change repository visibilities for the organization. +| `repository_visibility_change` | Contiene actividades relacionadas con permitir que los miembros de una organización cambien las visibilidades de un repositorio para la organización. {%- endif %} -| `repository_vulnerability_alert` | Contains activities related to [{% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). +| `repository_vulnerability_alert` | Contiene actividades relacionadas con las [{% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). {%- ifversion fpt or ghec %} -| `repository_vulnerability_alerts` | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot_alerts %}. | `required_status_check` | Contains activities related to required status checks for protected branches. +| `repository_vulnerability_alerts` | Contiene actividades de configuración a nivel de repositorio para las {% data variables.product.prodname_dependabot_alerts %}. | `required_status_check` | Contiene actividades relacionadas con verificaciones de estado requeridas para las ramas protegidas. {%- endif %} {%- ifversion ghec or ghes %} -| `restrict_notification_delivery` | Contains activities related to the restriction of email notifications to approved or verified domains for an enterprise. +| `restrict_notification_delivery` | Contiene actividades relacionadas con la restricción de notificaciones por correo electrónico para dominios verificados o aprobados para una empresa. {%- endif %} {%- ifversion custom-repository-roles %} -| `role` | Contains activities related to [custom repository roles](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization). +| `role` | Contiene actividades relacionadas con los [roles de repositorio personalizados](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization). {%- endif %} {%- ifversion ghec or ghes or ghae %} -| `secret_scanning` | Contains organization-level configuration activities for secret scanning in existing repositories. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | `secret_scanning_new_repos` | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. +| `secret_scanning` | Contiene actividades de configuración a nivel organizacional para el escaneo de secretos en los repositorios existentes. Para obtener más información, consulta la sección "[Acerca del escaneo de secretos"](/github/administering-a-repository/about-secret-scanning). | `secret_scanning_new_repos` | Contiene actividades de configuración a nivel organizacional para el escaneo de secretos para los repositorios nuevos creados en la organización. {%- endif %} {%- ifversion ghec or ghes or ghae %} -| `security_key` | Contains activities related to security keys registration and removal. +| `security_key` | Contiene actividades relacionadas con el registro y eliminación de llaves de seguridad. {%- endif %} {%- ifversion fpt or ghec %} -| `sponsors` | Contains events related to sponsor buttons (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"). +| `sponsors` | Contiene eventos relacionados con botones de patrocinio (consulta la sección "[Mostrar un botón de patrocinio en tu repositorio](/articles/displaying-a-sponsor-button-in-your-repository)"). {%- endif %} {%- ifversion ghec or ghes or ghae %} -| `ssh_certificate_authority` | Contains activities related to a SSH certificate authority in an organization or enterprise. | `ssh_certificate_requirement` | Contains activities related to requiring members use SSH certificates to access organization resources. +| `ssh_certificate_authority` | Contiene actividades relacionadas con la autoridad de certificados SSH en una organización o empresa. | `ssh_certificate_requirement` | Contiene actividades relacionadas con requerir que los miembros utilicen certificados SSH para acceder a los recursos de una organización. {%- endif %} -| `staff` | Contains activities related to a site admin performing an action. | `team` | Contains activities related to teams in an organization. | `team_discussions` | Contains activities related to managing team discussions for an organization. +| `staff` | Contiene actividades relacionadas con un administrador de sitio que realiza una acción. | `team` | Contiene actividades relacionadas con los equipos en una organización. | `team_discussions` | Contiene actividades relacionadas con administrar los debates de equipo para una organización. {%- ifversion ghec %} -| `team_sync_tenant` | Contains activities related to team synchronization with an IdP for an enterprise or organization. +| `team_sync_tenant` | Contiene actividades relacionadas con la sincronización de equipo con un IdP para una organización o empresa. {%- endif %} {%- ifversion fpt or ghes %} -| `two_factor_authentication` | Contains activities related to two-factor authentication. +| `two_factor_authentication` | Contiene actividades relacionadas con la autenticación bifactorial. {%- endif %} -| `user` | Contains activities related to users in an enterprise or organization. +| `user` | Contiene actividades relacionadas con los usuarios en una organización o empresa. {%- ifversion ghec or ghes %} -| `user_license` | Contains activities related to a user occupying a licensed seat in, and being a member of, an enterprise. +| `user_license` | Contiene actividades relacionadas con un usuario que ocupa una plaza de licencia en, y es miembro de, una empresa. {%- endif %} -| `workflows` | Contains activities related to {% data variables.product.prodname_actions %} workflows. +| `workflows` | Contiene actividades relacionadas con los flujos de trabajo de {% data variables.product.prodname_actions %}. diff --git a/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md b/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md index b056200c95..87ae3b4119 100644 --- a/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md +++ b/translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md @@ -1,8 +1,8 @@ | Acción | Descripción | | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `workflows.approve_workflow_job` | A workflow job was approved. Para obtener más información, consulta la sección "[Revisar los despliegues](/actions/managing-workflow-runs/reviewing-deployments)". | -| `workflows.cancel_workflow_run` | A workflow run was cancelled. Para obtener más información, consulta "[Cancelar un flujo de trabajo](/actions/managing-workflow-runs/canceling-a-workflow)". | -| `workflows.delete_workflow_run` | A workflow run was deleted. Para obtener más información, consulta la sección "[Borrar una ejecución de flujo de trabajo](/actions/managing-workflow-runs/deleting-a-workflow-run)". | +| `workflows.approve_workflow_job` | Se aprobó un job de flujo de trabajo. Para obtener más información, consulta la sección "[Revisar los despliegues](/actions/managing-workflow-runs/reviewing-deployments)". | +| `workflows.cancel_workflow_run` | Se canceló una ejecución de flujo de trabajo. Para obtener más información, consulta "[Cancelar un flujo de trabajo](/actions/managing-workflow-runs/canceling-a-workflow)". | +| `workflows.delete_workflow_run` | Se borró una ejecución de flujo de trabajo. Para obtener más información, consulta la sección "[Borrar una ejecución de flujo de trabajo](/actions/managing-workflow-runs/deleting-a-workflow-run)". | | `workflows.disable_workflow` | Se inhabilitó un flujo de trabajo. | | `workflows.enable_workflow` | Se habilitó un flujo de trabajo después de que `disable_workflow` lo inhabilitó previamente. | | `workflows.reject_workflow_job` | Se rechazó un job de un flujo de trabajo. Para obtener más información, consulta la sección "[Revisar los despliegues](/actions/managing-workflow-runs/reviewing-deployments)". | diff --git a/translations/es-ES/data/reusables/billing/billing-hosted-runners.md b/translations/es-ES/data/reusables/billing/billing-hosted-runners.md new file mode 100644 index 0000000000..2881396884 --- /dev/null +++ b/translations/es-ES/data/reusables/billing/billing-hosted-runners.md @@ -0,0 +1 @@ +| Linux | 4 | $0.016 | | Linux | 8 | $0.032 | | Linux | 16 | $0.064 | | Linux | 32 | $0.128 | | Linux | 64 | $0.256 | | Windows | 8 | $0.064 | | Windows | 16 | $0.128 | | Windows | 32 | $0.256 | | Windows | 64 | $0.512 | \ No newline at end of file diff --git a/translations/es-ES/data/reusables/billing/billing-standard-runners.md b/translations/es-ES/data/reusables/billing/billing-standard-runners.md new file mode 100644 index 0000000000..d15058c032 --- /dev/null +++ b/translations/es-ES/data/reusables/billing/billing-standard-runners.md @@ -0,0 +1,5 @@ +| Sistema operativo | Cores | Tasa por minuto (USD) | +| ----------------- | ----- | --------------------- | +| Linux | 2 | $0.008 | +| macOS | 3 | $0.08 | +| Windows | 2 | $0.016 | diff --git a/translations/es-ES/data/reusables/classroom/reuse-assignment-link.md b/translations/es-ES/data/reusables/classroom/reuse-assignment-link.md index cad57fd14a..94c4b74335 100644 --- a/translations/es-ES/data/reusables/classroom/reuse-assignment-link.md +++ b/translations/es-ES/data/reusables/classroom/reuse-assignment-link.md @@ -1 +1 @@ -You can reuse existing assignments in any other classroom you have admin access to, including classrooms in a different organization. Para obtener más información, consulta la sección "[Reutilizar una tarea](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment)". +Puedes reutilizar las tareas existentes en cualquier otra aula en la que tengas acceso administrativo, incluyendo aquellas en una organización diferente. Para obtener más información, consulta la sección "[Reutilizar una tarea](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/reuse-an-assignment)". diff --git a/translations/es-ES/data/reusables/code-scanning/example-configuration-files.md b/translations/es-ES/data/reusables/code-scanning/example-configuration-files.md index 5ed73d4367..07349858d4 100644 --- a/translations/es-ES/data/reusables/code-scanning/example-configuration-files.md +++ b/translations/es-ES/data/reusables/code-scanning/example-configuration-files.md @@ -30,3 +30,22 @@ paths-ignore: - src/node_modules - '**/*.test.js' ``` + +{% ifversion code-scanning-exclude-queries-from-analysis %} + +El siguiente archivo de configuración solo ejecuta consultas que generan alertas de errores de gravedad. La configuración selecciona primero todas las consultas predeterminadas, todas las consultas en `./my-queries` y la suite predeterminada en `codeql/java-queries` para luego excluir todas las consultas que generan advertencias o recomendaciones. + +``` yaml +queries: + - name: Use an in-repository QL pack (run queries in the my-queries directory) + uses: ./my-queries +packs: + - codeql/java-queries +query-filters: +- exclude: + problem.severity: + - warning + - recommendation +``` + +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/code-scanning/licensing-note.md b/translations/es-ES/data/reusables/code-scanning/licensing-note.md index ad0ec0192d..ede099e6be 100644 --- a/translations/es-ES/data/reusables/code-scanning/licensing-note.md +++ b/translations/es-ES/data/reusables/code-scanning/licensing-note.md @@ -1,8 +1,12 @@ {% note %} -**Note:** {% ifversion fpt %} -The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." -{%- elsif ghec %} The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." -{%- elsif ghes or ghae %}The {% data variables.product.prodname_codeql_cli %} is available to customers with an {% data variables.product.prodname_advanced_security %} license. +**Notes:** {% ifversion fpt %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." +{%- elsif ghec %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." +{%- elsif ghes or ghae %} +- The {% data variables.product.prodname_codeql_cli %} is available to customers with an {% data variables.product.prodname_advanced_security %} license. {% endif %} +- {% data reusables.code-scanning.non-glibc-linux-support %} + {% endnote %} diff --git a/translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 0000000000..2a1c2a8e53 --- /dev/null +++ b/translations/es-ES/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1 @@ +The {% data variables.product.prodname_codeql_cli %} is currently not compatible with non-glibc Linux distributions such as (musl-based) Alpine Linux. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/code-scanning/run-additional-queries.md b/translations/es-ES/data/reusables/code-scanning/run-additional-queries.md index 3f25bd67d1..fddae57c62 100644 --- a/translations/es-ES/data/reusables/code-scanning/run-additional-queries.md +++ b/translations/es-ES/data/reusables/code-scanning/run-additional-queries.md @@ -1,5 +1,13 @@ When you use {% data variables.product.prodname_codeql %} to scan code, the {% data variables.product.prodname_codeql %} analysis engine generates a database from the code and runs queries on it. {% data variables.product.prodname_codeql %} analysis uses a default set of queries, but you can specify more queries to run, in addition to the default queries. +{% ifversion code-scanning-exclude-queries-from-analysis %} +{% tip %} + +You can also specify the queries you want to exclude from analysis, or include in the analysis. This requires the use of a custom configuration file. For more information, see "[Using a custom configuration file](#using-a-custom-configuration-file)" and "[Excluding specific queries from analysis](#excluding-specific-queries-from-analysis) " below. + +{% endtip %} +{% endif %} + {% ifversion codeql-packs %} You can run extra queries if they are part of a {% data variables.product.prodname_codeql %} pack (beta) published to the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %} or a {% data variables.product.prodname_ql %} pack stored in a repository. For more information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)." diff --git a/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 0a1e685eb9..bc6e803d41 100644 --- a/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/translations/es-ES/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1 +1,5 @@ -1. En {% data variables.product.prodname_vscode_shortname %}, en la barra lateral izquierda, da clic en el icono de Explorador Remoto. ![El icono de explorador remoto en {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) +1. En {% data variables.product.prodname_vscode_shortname %}, en la barra lateral izquierda, da clic en el icono de Explorador Remoto. + + ![El icono de explorador remoto en {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 0000000000..d3ed8cea21 --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: If you disable billable codespaces use for your organization, anyone who can create codespaces as an individual user, and can clone a repository in your organization, will still be able to create a codespace for that repository. However, this will not incur any charge for your organization. Para obtener más información sobre cómo restringir el acceso a un repositorio, consulta la sección "[Administrar los equipos y personas con acceso a tu repositorio](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)". + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 0000000000..ca6be6fa7f --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. Para obtener más información sobre cómo elegir quién puede crear codespaces que se facturan a tu organización, consulta la sección "[Habilitar a los {% data variables.product.prodname_github_codespaces %} para tu organización](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)". + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md index 9ade0dcdaa..dafde78fca 100644 --- a/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md +++ b/translations/es-ES/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -1,9 +1,9 @@ {% note %} -**Nota:** Debes configurar un límite de gastos antes de pode utilizar {% data variables.product.prodname_codespaces %}. +**Nota:** Debes configurar un límite de gastos diferente a cero antes de poder utilizar {% data variables.product.prodname_codespaces %}. {% endnote %} -Predeterminadamente, tu organización o empresa tendrá un límite de gastos de {% data variables.product.prodname_github_codespaces %} de $0, lo cual previene que se creen codespaces nuevos o que se abran los existentes. Para permitir que tus usuarios creen codespaces en tu organización, configura el límite a un valor mayor a $0. +Predeterminadamente, tu organización o empresa tendrá un límite de gastos de {% data variables.product.prodname_github_codespaces %} igual a $0. Esto previene que se creen codespaces nuevos o que los existentes se abran en caso de que esto incurra en un costo facturable para tu organización o empresa. Para permitir que tus usuarios creen codespaces en tu organización, configura el límite a un valor mayor a $0. {% data reusables.billing.overages-billed-monthly %} diff --git a/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md b/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md new file mode 100644 index 0000000000..b9f18ee8fe --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/open-codespace-from-template-repo.md @@ -0,0 +1,8 @@ +1. Select an owner for the new repository, enter a repository name, select your preferred privacy setting, and click **Create repository from template**. +1. On the main page of the newly created repository, click the **{% octicon "code" aria-label="The code icon" %} Code** button and select the **Codespaces** tab. + + ![Botón de codespace nuevo](/assets/images/help/codespaces/new-codespace-button.png) + + If you don’t see this tab, {% data variables.product.prodname_github_codespaces %} isn't available for you. For more information about access to {% data variables.product.prodname_github_codespaces %}, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace#access-to-github-codespaces)." + +1. On the **Codespaces** tab, click **Create codespace on main**. diff --git a/translations/es-ES/data/reusables/codespaces/rebuild-command.md b/translations/es-ES/data/reusables/codespaces/rebuild-command.md index 64aafc0323..96a0e12111 100644 --- a/translations/es-ES/data/reusables/codespaces/rebuild-command.md +++ b/translations/es-ES/data/reusables/codespaces/rebuild-command.md @@ -1,5 +1,3 @@ -1. Accede a la {% data variables.product.prodname_vscode_command_palette %} (Shift + Command + P / Ctrl + Shift + P) y comienza a escribir "rebuild". Selecciona **Codespaces: Reconstruir contenedor**. +1. Access the {% data variables.product.prodname_vscode_command_palette_shortname %} (Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux)), then start typing "rebuild". Selecciona **Codespaces: Reconstruir contenedor**. ![Opción de recompilar contenedor](/assets/images/help/codespaces/codespaces-rebuild.png) - - diff --git a/translations/es-ES/data/reusables/codespaces/remote-explorer.md b/translations/es-ES/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 0000000000..545bdcf0c9 --- /dev/null +++ b/translations/es-ES/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,9 @@ +{% note %} + +**Note**: If the Remote Explorer is not displayed in the Activity Bar: + +1. Access the Command Palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). +1. Type: `codespaces`. +1. Click **Codespaces: Details**. + +{% endnote %} diff --git a/translations/es-ES/data/reusables/dependabot/dependabot-alerts-filters.md b/translations/es-ES/data/reusables/dependabot/dependabot-alerts-filters.md index ebaff3a36f..8b39c698dd 100644 --- a/translations/es-ES/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/translations/es-ES/data/reusables/dependabot/dependabot-alerts-filters.md @@ -2,7 +2,7 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %} | Opción | Descripción | Ejemplo | |:------------ |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ecosistema` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 %} +| `ecosistema` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-7891 %} | `has` | Displays alerts meeting the selected filter criteria | Use `has:patch` to show alerts related to advisories that have a patch{% ifversion dependabot-alerts-vulnerable-calls %}
Use `has:vulnerable-calls` to show alerts relating to calls to vulnerable functions{% endif %} {% endif %} | `is` | Displays alerts based on their state | Use `is:open` to show open alerts | diff --git a/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md b/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md index 01b1e2f260..7ad0e01dee 100644 --- a/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md +++ b/translations/es-ES/data/reusables/dependency-review/dependency-review-action-beta-note.md @@ -1,5 +1,5 @@ {% note %} -**Note**: The {% data variables.product.prodname_dependency_review_action %} is currently in public beta and subject to change. +**Note**: La {% data variables.product.prodname_dependency_review_action %} se encuentra actualmente en beta público y está sujeta a cambios. {% endnote %} diff --git a/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md b/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md index 73ee2bb66a..c1286ecc93 100644 --- a/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md +++ b/translations/es-ES/data/reusables/dependency-review/dependency-review-api-beta-note.md @@ -1,5 +1,5 @@ {% note %} -**Note**: The Dependency Review API is currently in public beta and subject to change. +**Note**: La API de revisión de dependencias se encuentra actualmente en beta público y está sujeta a cambios. {% endnote %} diff --git a/translations/es-ES/data/reusables/desktop/sign-in-browser.md b/translations/es-ES/data/reusables/desktop/sign-in-browser.md index 50cdbc9634..0cd9b0bebc 100644 --- a/translations/es-ES/data/reusables/desktop/sign-in-browser.md +++ b/translations/es-ES/data/reusables/desktop/sign-in-browser.md @@ -1 +1 @@ -1. In the "Sign in Using Your Browser" pane, click **Continue With Browser**. {% data variables.product.prodname_desktop %} abrirá tu buscador predeterminado. ![Inicio de sesión mediante el enlace de su navegador](/assets/images/help/desktop/sign-in-browser.png) +1. En el panel de "Inicia sesión utilizando tu buscador", haz clic en **Continuar con el buscador**. {% data variables.product.prodname_desktop %} abrirá tu buscador predeterminado. ![Inicio de sesión mediante el enlace de su navegador](/assets/images/help/desktop/sign-in-browser.png) diff --git a/translations/es-ES/data/reusables/discussions/about-organization-discussions.md b/translations/es-ES/data/reusables/discussions/about-organization-discussions.md index 08628cb121..ab5e854cb5 100644 --- a/translations/es-ES/data/reusables/discussions/about-organization-discussions.md +++ b/translations/es-ES/data/reusables/discussions/about-organization-discussions.md @@ -1,5 +1,5 @@ -When you enable organization discussions, you will choose a repository in the organization to be the source repository for your organization discussions. You can use an existing repository or create a repository specifically to hold your organization discussions. Discussions will appear both on the discussions page for the organization and on the discussion page for the source repository. +Cuando habilitas los debates de organización, elegirás un repositorio en la organización para que sea el repositorio fuente para sus debates. Puedes utilizar un repositorio existente o crear uno específicamente para que almacene tus debates de organización. Los debates se mostrarán tanto en la página de debates de la organización como en la página de debates del repositorio fuente. -Permission to participate in or manage discussions in your organization is based on permission in the source repository. For example, a user needs write permission to the source repository in order to delete an organization discussion. This is identical to how a user needs write permission in a repository in order to delete a repository discussion. +El permiso para participar o administrar los debates de tu organización se basa en los permisos del repositorio fuente. Por ejemplo, los usuarios necesitan permisos de escritura en el repositorio fuente para borrar un debate de organización. Esto es idéntico a cómo un usuario necesita permisos de escritura en un repositorio para poder borrar un debate en este. -You can change the source repository at any time. If you change the source repository, discussions are not transferred to the new source repository. +Puedes cambiar el repositorio fuente en cualquier momento. Si cambias el repositorio fuente, los debates no se transferirán al repositorio fuente nuevo. diff --git a/translations/es-ES/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md b/translations/es-ES/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md index 557169cb55..3a5fb0806d 100644 --- a/translations/es-ES/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md +++ b/translations/es-ES/data/reusables/discussions/enabling-or-disabling-github-discussions-for-your-organization.md @@ -1,5 +1,5 @@ 1. En {% data variables.product.product_location %}, navega a la página principal de tu organización. -1. Under your organization name, click {% octicon "gear" aria-label="The gear icon" %} **Settings**. ![Botón de configuración de organización](/assets/images/help/discussions/org-settings.png) -1. Under "Discussions", select **Enable discussions for this organization**. -1. Select a repository to use as the source repository for your organization discussions. ![Settings to enable discussions for an organization](/assets/images/help/discussions/enable-org-discussions.png) +1. Debajo del nombre de tu organización, haz clic en {% octicon "gear" aria-label="The gear icon" %} **Ajustes**. ![Botón de configuración de organización](/assets/images/help/discussions/org-settings.png) +1. Debajo de "Debates", selecciona **Habilitar los debates para esta organización**. +1. Selecciona un repositorio para utilizarlo como el repositorio fuente para los debates de tu organización. ![Ajustes para habilitar los debates para una organización](/assets/images/help/discussions/enable-org-discussions.png) 1. Haz clic en **Save ** (guardar). diff --git a/translations/es-ES/data/reusables/discussions/navigate-to-repo-or-org.md b/translations/es-ES/data/reusables/discussions/navigate-to-repo-or-org.md index 92670f998b..03b3938d64 100644 --- a/translations/es-ES/data/reusables/discussions/navigate-to-repo-or-org.md +++ b/translations/es-ES/data/reusables/discussions/navigate-to-repo-or-org.md @@ -1 +1 @@ -1. On {% data variables.product.product_location %}, navigate to the main page of the repository or organization. +1. En {% data variables.product.product_location %}, navega a la página principal del repositorio u organización. diff --git a/translations/es-ES/data/reusables/discussions/starting-a-poll.md b/translations/es-ES/data/reusables/discussions/starting-a-poll.md index d4a5bd89a3..0771bfcc26 100644 --- a/translations/es-ES/data/reusables/discussions/starting-a-poll.md +++ b/translations/es-ES/data/reusables/discussions/starting-a-poll.md @@ -1,9 +1,9 @@ {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} -1. In the list of categories, click **Polls**. ![Screenshot showing "Poll" category](/assets/images/help/discussions/poll-category.png) -1. On the right, click **Start poll**. ![Captura de pantalla que muestra el botón "Iniciar encuesta"](/assets/images/help/discussions/start-poll-button.png) -1. Type a title and optional body for your poll. ![Screenshot showing text fields for title and body](/assets/images/help/discussions/new-poll-title-and-body-fields.png) -1. Type a question for your poll. ![Screenshot showing text fields for the poll's question](/assets/images/help/discussions/new-poll-question.png) -1. Type at least two options for your poll. ![Screenshot showing text fields for the poll's options](/assets/images/help/discussions/new-poll-options.png) -1. Optionally, to add an extra poll option, click **Add an option**. ![Screenshot showing "Add an option" button](/assets/images/help/discussions/new-poll-add-option.png) -1. Click **Start poll**. ![Captura de pantalla que muestra el botón "Iniciar encuesta"](/assets/images/help/discussions/new-poll-start-poll-button.png) +1. En la lista de categorías, haz clic en **Encuestas**. ![Captura de pantalla que muestra la categoría de "Encuesta"](/assets/images/help/discussions/poll-category.png) +1. A la derecha, haz clic en **Iniciar encuesta**. ![Captura de pantalla que muestra el botón "Iniciar encuesta"](/assets/images/help/discussions/start-poll-button.png) +1. Escribe un título y un cuerpo opcional para tu encuesta. ![Captura de pantalla que muestra los campos de texto para el título y el cuerpo](/assets/images/help/discussions/new-poll-title-and-body-fields.png) +1. Escribe una pregunta para tu encuesta. ![Captura de pantalla que muestra los campos de texto para la pregunta de la encuesta](/assets/images/help/discussions/new-poll-question.png) +1. Escribe por lo menos dos opciones para tu encuesta. ![Captura de pantalla que muestra los campos de texto para las opciones de la encuesta](/assets/images/help/discussions/new-poll-options.png) +1. Opcionalmente, para agregar una opción de encuesta adicional, haz clic en **Agregar una opción**. ![Captura de pantalla que muestra el botón "Agregar una opción"](/assets/images/help/discussions/new-poll-add-option.png) +1. Haz clic en **Iniciar encuesta**. ![Captura de pantalla que muestra el botón "Iniciar encuesta"](/assets/images/help/discussions/new-poll-start-poll-button.png) diff --git a/translations/es-ES/data/reusables/education/access-github-community-exchange.md b/translations/es-ES/data/reusables/education/access-github-community-exchange.md index 315f709fbe..bea8e637fc 100644 --- a/translations/es-ES/data/reusables/education/access-github-community-exchange.md +++ b/translations/es-ES/data/reusables/education/access-github-community-exchange.md @@ -4,4 +4,4 @@ If you're a student or faculty member at an accredited educational institution, - If you’re a student and you haven't joined {% data variables.product.prodname_education %} yet, apply using the [student application form](https://education.github.com/discount_requests/student_application). For more information, see "[About {% data variables.product.prodname_global_campus %} for students](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students)." -- If you’re an educator and you haven't joined {% data variables.product.prodname_education %} yet, apply using the [teacher application form](https://education.github.com/discount_requests/teacher_application). For more information, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." +- If you’re an educator and you haven't joined {% data variables.product.prodname_education %} yet, apply using the [teacher application form](https://education.github.com/discount_requests/teacher_application). Para obtener más información, consulta la sección "[Solicitar ingresar al {% data variables.product.prodname_global_campus %} como docente](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)". diff --git a/translations/es-ES/data/reusables/education/apply-for-team.md b/translations/es-ES/data/reusables/education/apply-for-team.md index 46384e2886..f34afbc02a 100644 --- a/translations/es-ES/data/reusables/education/apply-for-team.md +++ b/translations/es-ES/data/reusables/education/apply-for-team.md @@ -1 +1 @@ -- Solicita gratis [{% data variables.product.prodname_team %}](/articles/github-s-products), que permite tener ilimitados usuarios y repositorios privados. For more information, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." +- Solicita gratis [{% data variables.product.prodname_team %}](/articles/github-s-products), que permite tener ilimitados usuarios y repositorios privados. Para obtener más información, consulta la sección "[Solicitar ingresar al {% data variables.product.prodname_global_campus %} como docente](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)". diff --git a/translations/es-ES/data/reusables/enterprise-accounts/emu-cap-validates.md b/translations/es-ES/data/reusables/enterprise-accounts/emu-cap-validates.md index 0f5e2fb0f4..bc24aa3b1e 100644 --- a/translations/es-ES/data/reusables/enterprise-accounts/emu-cap-validates.md +++ b/translations/es-ES/data/reusables/enterprise-accounts/emu-cap-validates.md @@ -1 +1 @@ -When your enterprise uses OIDC SSO, {% data variables.product.prodname_dotcom %} will automatically use your IdP's conditional access policy (CAP) IP conditions to validate user interactions with {% data variables.product.prodname_dotcom %}, when members change IP addresses, and each time a personal access token or SSH key is used. +Cuando tu empresa utiliza el SSO de OIDC, {% data variables.product.prodname_dotcom %} utilizará automáticamente las condiciones de IP de la política de acceso condicional (CAP) de tu IdP para validar las interacciones de los usuarios con {% data variables.product.prodname_dotcom %}, cuando los miembros cambien sus direcciones IP y cada que se utilice un token de acceso personal o llave SSH. diff --git a/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md index a39d234056..753cfb7784 100644 --- a/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md +++ b/translations/es-ES/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -1 +1,6 @@ -1. Debajo de "Repository creation" (Creación de repositorios), selecciona una política. ![Menú desplegable con opciones de políticas de creación de repositorios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) +1. Debajo de "Repository creation" (Creación de repositorios), selecciona una política. + {% ifversion enterprise-namespace-repo-setting %} + ![Menú desplegable con opciones de políticas de creación de repositorios](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![Menú desplegable con opciones de políticas de creación de repositorios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md b/translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md deleted file mode 100644 index 16eee6509a..0000000000 --- a/translations/es-ES/data/reusables/enterprise-accounts/repository-visibility-policy.md +++ /dev/null @@ -1 +0,0 @@ -1. Debajo de "Repository visibility change" (Cambio de visibilidad de repositorios), usa el menú desplegable y elige una política. ![Menú desplegable con opciones de políticas de visibilidad de repositorios](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) diff --git a/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md b/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md index 40001f464a..dd0e1e0c56 100644 --- a/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md +++ b/translations/es-ES/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae-issue-7875 %} +1. En la barra lateral izquierda, haz clic en **Seguridad de autenticación**. + {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-authentication-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-authentication-security-tab.png){% endif %} +{%- else %} 1. En la barra lateral izquierda, haz clic en **Security** (Seguridad). {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} +{%- endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/enterprise/about-github-for-enterprises.md b/translations/es-ES/data/reusables/enterprise/about-github-for-enterprises.md index eec503fbd5..611ea65ab9 100644 --- a/translations/es-ES/data/reusables/enterprise/about-github-for-enterprises.md +++ b/translations/es-ES/data/reusables/enterprise/about-github-for-enterprises.md @@ -1 +1 @@ -For more information about how businesses can use {% data variables.product.company_short %}'s products to support their software development lifecycle, see "[About {% data variables.product.prodname_dotcom %} for enterprises](/admin/overview/about-github-for-enterprises)." \ No newline at end of file +Para obtener más información sobre cómo nuestros negocios pueden utilizar los productos de {% data variables.product.company_short %} para apoyar su ciclo de desarrollo de software, consulta la sección "[Acerca de {% data variables.product.prodname_dotcom %} para empresas](/admin/overview/about-github-for-enterprises)". \ No newline at end of file diff --git a/translations/es-ES/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md b/translations/es-ES/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md index c5d6100063..d9e308eee9 100644 --- a/translations/es-ES/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md +++ b/translations/es-ES/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md @@ -1,4 +1,4 @@ -1. Define the key as a environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. +1. Define the key as an environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. ```bash{:copy} ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a | awk '{printf "%s\\n", $0}')" diff --git a/translations/es-ES/data/reusables/gated-features/codespaces-classroom-articles.md b/translations/es-ES/data/reusables/gated-features/codespaces-classroom-articles.md index 924aac0d15..fb0f2fcb07 100644 --- a/translations/es-ES/data/reusables/gated-features/codespaces-classroom-articles.md +++ b/translations/es-ES/data/reusables/gated-features/codespaces-classroom-articles.md @@ -1 +1 @@ -Codespaces is available to use with {% data variables.product.prodname_classroom %} for organizations that use {% data variables.product.prodname_team %}. To find out if you qualify for a free upgrade to {% data variables.product.prodname_team %}, see "[Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)." +Codespaces is available to use with {% data variables.product.prodname_classroom %} for organizations that use {% data variables.product.prodname_team %}. Para saber si calificas para una mejora a {% data variables.product.prodname_team %}, consulta la secciòn "[Solicitar entrar al {% data variables.product.prodname_global_campus %} como docente](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher)". diff --git a/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md b/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md index 1f6773128e..2608c16d56 100644 --- a/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md +++ b/translations/es-ES/data/reusables/gated-features/dependency-vulnerable-calls.md @@ -1,11 +1,11 @@ {%- ifversion fpt %} -Detection of vulnerable calls is enabled on public repositories. This analysis is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have licensed {% data variables.product.prodname_GH_advanced_security %}. +Detection of vulnerable calls is enabled on public repositories. Este análisis también está disponible en repositorios privados que le pertenezcan a las organizaciones que utilizan {% data variables.product.prodname_ghe_cloud %} y que tienen {% data variables.product.prodname_GH_advanced_security %} con licencia. {%- elsif ghec %} -Detection of vulnerable calls is included in {% data variables.product.product_name %} for public repositories. To detect vulnerable calls in private repositories owned by organizations, your organization must have a license for {% data variables.product.prodname_GH_advanced_security %}. +La detección de llamadas vulnerables se incluye en {% data variables.product.product_name %} para repositorios públicos. Para detectar llamadas vulnerables en repositorios privados que le pertenecen a las organizaciones, tu organización debe tener una licencia para {% data variables.product.prodname_GH_advanced_security %}. {%- elsif ghes > 3.5 %} -Detection of vulnerable calls is available for organization-owned repositories in {% data variables.product.product_name %}. Esta característica requiere una licencia para la {% data variables.product.prodname_GH_advanced_security %}. +La detección de llamadas vulnerables está disponible para los repositorios que pertenecen a organizaciones de {% data variables.product.product_name %}. Esta característica requiere una licencia para la {% data variables.product.prodname_GH_advanced_security %}. {%- elsif ghae-issue-6076 %} La detección de llamadas vulnerables está disponible para los repositorios que pertenecen a organizaciones de {% data variables.product.product_name %}. Esta es una característica de la {% data variables.product.prodname_GH_advanced_security %} (gratuita durante el lanzamiento beta). diff --git a/translations/es-ES/data/reusables/gated-features/hosted-runners.md b/translations/es-ES/data/reusables/gated-features/hosted-runners.md new file mode 100644 index 0000000000..4f1e2137bb --- /dev/null +++ b/translations/es-ES/data/reusables/gated-features/hosted-runners.md @@ -0,0 +1 @@ +The {% data variables.actions.hosted_runner %}s feature is currently in beta for organizations and enterprises using the {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %} plans, and is subject to change. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/getting-started/bearer-vs-token.md b/translations/es-ES/data/reusables/getting-started/bearer-vs-token.md new file mode 100644 index 0000000000..9dd0b62ada --- /dev/null +++ b/translations/es-ES/data/reusables/getting-started/bearer-vs-token.md @@ -0,0 +1 @@ +In most cases, you can use `Authorization: Bearer` or `Authorization: token` to pass a token. However, if you are passing a JSON web token (JWT), you must use `Authorization: Bearer`. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/git/cache-on-repository-path.md b/translations/es-ES/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 0000000000..ced81ebbd9 --- /dev/null +++ b/translations/es-ES/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,5 @@ +1. To configure Git to cache credentials for each local directory where you clone a repository, enter the following command. + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md b/translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 0000000000..04e3de748e --- /dev/null +++ b/translations/es-ES/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,5 @@ +- If the output is `manager-core`, you're using Git Credential Manager. To clear the credentials, run the following command. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/es-ES/data/reusables/git/clear-the-stored-credentials.md b/translations/es-ES/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 0000000000..f723d7ab97 --- /dev/null +++ b/translations/es-ES/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1 @@ +1. If the output confirms that you're using a credential manager, clear the stored credentials for the credential manager. diff --git a/translations/es-ES/data/reusables/git/confirm-credential-manager.md b/translations/es-ES/data/reusables/git/confirm-credential-manager.md new file mode 100644 index 0000000000..68c6e99397 --- /dev/null +++ b/translations/es-ES/data/reusables/git/confirm-credential-manager.md @@ -0,0 +1,5 @@ +1. To confirm your use of a credential manager, enter the following command and note the output. + + ```shell{:copy} + git config --get credential.helper + ``` diff --git a/translations/es-ES/data/reusables/git/no-credential-manager.md b/translations/es-ES/data/reusables/git/no-credential-manager.md new file mode 100644 index 0000000000..fe79c2ff04 --- /dev/null +++ b/translations/es-ES/data/reusables/git/no-credential-manager.md @@ -0,0 +1 @@ +- If the output doesn't include the name of a credential manager, there is no credential manager configured, and you can proceed to the next step. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/git/open-terminal.md b/translations/es-ES/data/reusables/git/open-terminal.md new file mode 100644 index 0000000000..f6d095397c --- /dev/null +++ b/translations/es-ES/data/reusables/git/open-terminal.md @@ -0,0 +1 @@ +1. Abre Terminal. diff --git a/translations/es-ES/data/reusables/git/provide-credentials.md b/translations/es-ES/data/reusables/git/provide-credentials.md new file mode 100644 index 0000000000..351a1e87d1 --- /dev/null +++ b/translations/es-ES/data/reusables/git/provide-credentials.md @@ -0,0 +1,3 @@ +1. The first time that you use Git to clone a repository or access data in a repository that you've already cloned, Git will request credentials. Provide the PAT for the account with access to the repository. + + Git will cache the PAT for the directory you're in, and you'll be able to access and write repository data on {% data variables.product.product_location %} using the correct account. diff --git a/translations/es-ES/data/reusables/gpg/configure-ssh-signing.md b/translations/es-ES/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 0000000000..f0f489a73a --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,4 @@ +1. Configure Git to use SSH to sign commits and tags: + ```bash + $ git config --global gpg.format ssh + ``` \ No newline at end of file diff --git a/translations/es-ES/data/reusables/gpg/copy-gpg-key-id.md b/translations/es-ES/data/reusables/gpg/copy-gpg-key-id.md index e075c5dd1a..b10e58d80c 100644 --- a/translations/es-ES/data/reusables/gpg/copy-gpg-key-id.md +++ b/translations/es-ES/data/reusables/gpg/copy-gpg-key-id.md @@ -1,9 +1,9 @@ 1. Desde la lista de llaves GPG, compia la forma larga de la ID de la llave GPG que quieres utilizar. En este ejemplo, el ID de la llave GPG es `3AA5C34371567BD2`: - ```shell + ```shell{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10 - ``` + ``` diff --git a/translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md b/translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md new file mode 100644 index 0000000000..36b53fd808 --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/copy-ssh-public-key.md @@ -0,0 +1,43 @@ +1. Copia la llave SSH pública a tu portapapeles. + + Si tu archivo de llave SSH pública tiene un nombre diferente que en el código de ejemplo, modifica el nombre de archivo para que coincida con tu configuración actual. Al copiar tu clave, no agregues líneas nuevas o espacios en blanco. +{% mac %} + + ```shell + $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Sugerencia:** Si `pbcopy` no está funcionando, puedes ubicar la carpeta `.ssh` oculta, abrir el archivo en tu editor de texto favorito, y copiarlo en tu portapapeles. + + {% endtip %} +{% endmac %} +{% windows %} + + ```shell + $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Sugerencia:** Si `clip` no está funcionando, puedes ubicar la carpeta `.shh` oculta, abrir el archivo en tu editor de texto favorito, y copiarlo en tu portapapeles. + + {% endtip %} +{% endwindows %} +{% linux %} + + ```shell + $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file + # displayed in the terminal to your clipboard + ``` + + {% tip %} + + **Tip:** Como alternativa, puedes ubicar la carpeta `.ssh` oculta, abrir el archivo en tu editor de texto favorito y copiarlo a tu portapapeles. + + {% endtip %} +{% endlinux %} diff --git a/translations/es-ES/data/reusables/gpg/list-keys-with-note.md b/translations/es-ES/data/reusables/gpg/list-keys-with-note.md index 9e243ce572..64b0a703f9 100644 --- a/translations/es-ES/data/reusables/gpg/list-keys-with-note.md +++ b/translations/es-ES/data/reusables/gpg/list-keys-with-note.md @@ -1,10 +1,11 @@ - 1. Utiliza el comando `gpg --list-secret-keys --keyid-format=long` para enumerar la forma larga de las llaves GPG para las cuales tienes tanto una llave pública como una privada. Se requiere una llave privada para registrar confirmaciones o etiquetas. - ```shell - $ gpg --list-secret-keys --keyid-format=long -``` - {% note %} - **Nota:** Algunas instalaciones GPG en Linux pueden requerir que uses `gpg2 --list-keys --keyid-format LONG` para visualizar una lista de tus llaves existentes en su lugar. En este caso también deberás configurar Git para que use `gpg2` by running `git config --global gpg.program gpg2`. + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + ``` - {% endnote %} + {% note %} + + **Nota:** Algunas instalaciones GPG en Linux pueden requerir que uses `gpg2 --list-keys --keyid-format LONG` para visualizar una lista de tus llaves existentes en su lugar. En este caso también deberás configurar Git para que use `gpg2` by running `git config --global gpg.program gpg2`. + + {% endnote %} diff --git a/translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md b/translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 0000000000..1274a0acb5 --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,4 @@ +1. To set your SSH signing key in Git, paste the text below, substituting the contents of your clipboard for the key you'd like to use. Since the key contains spaces, you must wrap it in quotes: + ```bash + $ git config --global user.signingkey 'ssh-ed25519 AAAAC3(...) user@example.com' + ``` \ No newline at end of file diff --git a/translations/es-ES/data/reusables/gpg/ssh-git-version.md b/translations/es-ES/data/reusables/gpg/ssh-git-version.md new file mode 100644 index 0000000000..aea08195e9 --- /dev/null +++ b/translations/es-ES/data/reusables/gpg/ssh-git-version.md @@ -0,0 +1,6 @@ + +{% note %} + +**Note:** SSH signature verification is available in Git 2.34 or later. Para actualizar tu versiíon de Git, consulta el sitio web de [Git](https://git-scm.com/downloads). + +{% endnote %} diff --git a/translations/es-ES/data/reusables/gpg/x-509-key.md b/translations/es-ES/data/reusables/gpg/x-509-key.md index 5965862c30..a87d0e6827 100644 --- a/translations/es-ES/data/reusables/gpg/x-509-key.md +++ b/translations/es-ES/data/reusables/gpg/x-509-key.md @@ -1,5 +1,5 @@ -### Informarle a Git acerca de tu llave X.509 +## Informarle a Git acerca de tu llave X.509 Puedes usar [smimesign](https://github.com/github/smimesign) para firmar confirmaciones y etiquetas utilizando S/MIME en lugar de GPG. diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 0000000000..772581f87a --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,3 @@ +You can create an IP allow list by adding entries that each contain an IP address or address range.{% ifversion ip-allow-list-address-check %} After you finish adding entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list.{% endif %} + +Before the list restricts access to {% ifversion ghae %}your enterprise{% else %}private assets owned by organizations in your enterprise{% endif %}, you must also enable allowed IP addresses. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 0000000000..dfdc758f91 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1 @@ +You can check whether a particular IP address would be allowed by any of the enabled entries in your IP allow list, even if the list is not currently enabled. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 0000000000..d646e02ec5 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,5 @@ +You can edit an entry in your IP allow list. If you edit an enabled entry, changes are enforced immediately. + +{% ifversion ip-allow-list-address-check %} +After you finish editing entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 0000000000..f886df0690 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md @@ -0,0 +1,5 @@ +After you create an IP allow list, you can enable allowed IP addresses. When you enable allowed IP addresses, {% data variables.product.company_short %} immediately enforces any enabled entries in your IP allow list. + +{% ifversion ip-allow-list-address-check %} +Before you enable allowed IP addresses, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 0000000000..5e73fdddcd --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1 @@ +1. Under "Check your IP address", enter an IP address. ![Screenshot of the "Check IP address" text field](/assets/images/help/security/check-ip-address.png) \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 0000000000..9a187752d6 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,3 @@ +{%- ifversion ip-allow-list-address-check %} +1. Optionally, check if a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{%- endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md index e236790aec..65f0446fcc 100644 --- a/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md +++ b/translations/es-ES/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -1 +1,3 @@ -Para aplicar la lista de IP permitidas, primero debes agregar direcciones a la lista, y después habilitarla. Debes agregar tu dirección IP actual o un rango coincidente antes de habilitar la lista de permisos de IP. +Para requerir la lista de direcciones IP permitidas, primero debes agregar direcciones IP a ella y luego habilitarla.{% ifversion ip-allow-list-address-check %} Después de que completes tu lista, puedes verificar si una dirección IP en particular estaría permitida en cualquiera de las entradas habilitadas en dicha lista.{% endif %} + +Debes agregar tu dirección IP actual o un rango coincidente antes de habilitar la lista de permisos de IP. diff --git a/translations/es-ES/data/reusables/identity-and-permissions/ipv6-allow-lists.md b/translations/es-ES/data/reusables/identity-and-permissions/ipv6-allow-lists.md new file mode 100644 index 0000000000..3c26491fe2 --- /dev/null +++ b/translations/es-ES/data/reusables/identity-and-permissions/ipv6-allow-lists.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec %} +{% note %} + +**Note:** {% data variables.product.company_short %} is gradually rolling out support for IPv6. As {% data variables.product.prodname_dotcom %} services continue to add IPv6 support, we will start recognizing IPv6 addresses of {% data variables.product.prodname_dotcom %} users. To prevent possible access interruptions, please ensure you have added any necessary IPv6 addresses to your IP allow list. + +{% endnote %} +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/organizations/about-following-organizations.md b/translations/es-ES/data/reusables/organizations/about-following-organizations.md new file mode 100644 index 0000000000..52e52467fb --- /dev/null +++ b/translations/es-ES/data/reusables/organizations/about-following-organizations.md @@ -0,0 +1 @@ +When you follow organizations on {% data variables.product.product_name %}, you'll see their {% ifversion fpt or ghec %}public{% endif %} activity on your personal dashboard. This activity includes new discussions, sponsorships, and repositories. \ No newline at end of file diff --git a/translations/es-ES/data/reusables/organizations/follow-organizations-beta.md b/translations/es-ES/data/reusables/organizations/follow-organizations-beta.md new file mode 100644 index 0000000000..8d9ef03cd1 --- /dev/null +++ b/translations/es-ES/data/reusables/organizations/follow-organizations-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Nota:** La capacidad de seguir organizaciones se encuentra actualmente en beta público y está sujeta a cambios. + +{% endnote %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/package_registry/authenticate-packages.md b/translations/es-ES/data/reusables/package_registry/authenticate-packages.md index a766f6e96d..5ca4e91584 100644 --- a/translations/es-ES/data/reusables/package_registry/authenticate-packages.md +++ b/translations/es-ES/data/reusables/package_registry/authenticate-packages.md @@ -4,4 +4,4 @@ You can use a personal access token (PAT) to authenticate to {% data variables.p To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: - `GITHUB_TOKEN` to publish packages associated with the workflow repository. -- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). +- a PAT with at least `packages:read` scope to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md b/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md deleted file mode 100644 index 710a154d36..0000000000 --- a/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md +++ /dev/null @@ -1,11 +0,0 @@ -{% ifversion fpt or ghec or ghes > 3.4 %} - -Para autenticarse en el {% data variables.product.prodname_container_registry %} dentro de un flujo de trabajo de {% data variables.product.prodname_actions %}, utiliza el `GITHUB_TOKEN` para tener la mejor experiencia en seguridad. Si tu flujo de trabajo utiliza un token de acceso personal (PAT) para autenticarse en `{% data reusables.package_registry.container-registry-hostname %}`, entonces te recomendamos ampliamente que lo actualices para que utilice el `GITHUB_TOKEN`. - -{% ifversion fpt or ghec %}Para obtener orientación sobre cómo actualizar tus flujos de trabajo que se autentican con `{% data reusables.package_registry.container-registry-hostname %}` con un token de acceso personal, consulta la sección "[Actualizar un flujo de trab ajo que accede a `ghcr.io`](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio)".{% endif %} - -Para obtener más información sobre el `GITHUB_TOKEN`, consulta la sección "[Autenticación en un flujo de trabajo](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)". - -Si estás utilizando el {% data variables.product.prodname_container_registry %} en las acciones, sigue nuestras mejores prácticas de seguridad en "[Fortalecimiento de seguridad para las Acciones de GitHub](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)". - -{% endif %} diff --git a/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md new file mode 100644 index 0000000000..520a91c938 --- /dev/null +++ b/translations/es-ES/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -0,0 +1,7 @@ +If your workflow is using a personal access token (PAT) to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. + +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a personal access token, see "[Upgrading a workflow that accesses a registry using a PAT](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} + +Para obtener más información sobre el `GITHUB_TOKEN`, consulta la sección "[Autenticación en un flujo de trabajo](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)". + +For more information about the best practises when using a registry in actions, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." diff --git a/translations/es-ES/data/reusables/package_registry/container-registry-migration-namespaces.md b/translations/es-ES/data/reusables/package_registry/container-registry-migration-namespaces.md index 9d7d0dc5e0..ecb450e5a1 100644 --- a/translations/es-ES/data/reusables/package_registry/container-registry-migration-namespaces.md +++ b/translations/es-ES/data/reusables/package_registry/container-registry-migration-namespaces.md @@ -1 +1 @@ -Any scripts or {% data variables.product.prodname_actions %} workflows that use the namespace for the Docker registry, {% data variables.product.prodname_docker_registry_namespace %}, will continue to work after migration to the {% data variables.product.prodname_container_registry %} at {% data variables.product.prodname_container_registry_namespace %}. +Cualquier script o flujo de trabajo de {% data variables.product.prodname_actions %} que utilice un designador de nombre para el registro de Docker, {% data variables.product.prodname_docker_registry_namespace %}, seguirá funcionando después de su migración al {% data variables.product.prodname_container_registry %} en {% data variables.product.prodname_container_registry_namespace %}. 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 new file mode 100644 index 0000000000..cbab609f2b --- /dev/null +++ b/translations/es-ES/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`, or npm images that use the package namespace `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md b/translations/es-ES/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md index ae12fb4907..55805f4322 100644 --- a/translations/es-ES/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md +++ b/translations/es-ES/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md @@ -1,16 +1,16 @@ -{% ifversion ghes > 3.1 or ghes < 3.5 %} +{% ifversion ghes < 3.5 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix for 3.5 and later will be available in an upcoming patch release. +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix is available in the [3.5.5](/enterprise-server@3.5/admin/release-notes#3.5.5) and [3.6.1](/enterprise-server@3.6/admin/release-notes#3.6.1) patch releases. -To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-16] +To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-09-01] -{% elsif ghes > 3.4 or ghes < 3.7 %} +{% elsif ghes = 3.5 or ghes = 3.6 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ currentVersion }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ allVersions[currentVersion].currentRelease }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). - To display the missing alerts for all repositories owned by an organization, organization owners can navigate to the organization's **Code security and analysis** settings, then click **Enable all** for secret scanning. Para obtener más información, consulta la sección "[Administrar la configuración de análisis y seguridad para tu organización](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories)". - To display the missing alerts for an individual repository, people with admin access to the repository can disable then enable secret scanning for the repository. Para obtener más información, consulta la sección "[Administrar la configuración de seguridad y análisis para tu repositorio](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)". -A fix will be available in an upcoming patch release. [Updated: 2022-08-16] +A fix is available in the {% ifversion ghes = 3.5 %}[3.5.5](/admin/release-notes#3.5.5){% elsif ghes = 3.6 %}[3.6.1](/admin/release-notes#3.6.1){% endif %} patch release. [Updated: 2022-09-01] {% endif %} diff --git a/translations/es-ES/data/reusables/repositories/anyone-can-view-anonymized-url.md b/translations/es-ES/data/reusables/repositories/anyone-can-view-anonymized-url.md index 1609e74415..6f8739557f 100644 --- a/translations/es-ES/data/reusables/repositories/anyone-can-view-anonymized-url.md +++ b/translations/es-ES/data/reusables/repositories/anyone-can-view-anonymized-url.md @@ -1,5 +1,5 @@ {% warning %} -**Warning:** If you attach a file to a pull request, issue comment, or ticket in the {% data variables.contact.support_portal %}, anyone can view the anonymized URL without authentication, even if the pull request is in a private repository{% ifversion ghes %}, or if private mode is enabled{% endif %}. Para mantener privados archivos de medios sensibles, estos se deben servir desde una red o servidor privados que requieran autenticación. {% ifversion fpt or ghec %}Para obtener más información sobre las URL anonimizadas, consulta la sección "[Acerca de las URL anonimizadas](/github/authenticating-to-github/about-anonymized-urls)".{% endif %} +**Advertencia:** Si adjuntas un archivo a una solicitud de cambios, comentario de propuesta o ticket en el {% data variables.contact.support_portal %}, cualquiera podrá ver la URL anonimizada sin autenticación, incluso si la solicitud de cambios se encuentra en un repositorio privado{% ifversion ghes %} o si se habilita el modo privado{% endif %}. Para mantener privados archivos de medios sensibles, estos se deben servir desde una red o servidor privados que requieran autenticación. {% ifversion fpt or ghec %}Para obtener más información sobre las URL anonimizadas, consulta la sección "[Acerca de las URL anonimizadas](/github/authenticating-to-github/about-anonymized-urls)".{% endif %} {% endwarning %} diff --git a/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md index 4713a971bb..6c63eaf13f 100644 --- a/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md +++ b/translations/es-ES/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -2,5 +2,12 @@ Cuando utilizas la IU web para intentar confirmar un secreto compatible en un re Puedes ver un letrero en la parte superior de la página con información sobre la ubicación del secreto y este también se subrayará en el archivo para que lo puedas encontrar con facilidad. +{% ifversion push-protection-custom-link-orgs %} + + ![Captura de pantalla que muestra una confirmación bloqueada en la IU web debido a la protección contra subidas del escaneo de secretos](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + ![Captura de pantalla que muestra una confirmación bloqueada en la IU web debido a la protección contra subidas del escaneo de secretos](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) - \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/translations/es-ES/data/reusables/secret-scanning/secret-list-private-push-protection.md b/translations/es-ES/data/reusables/secret-scanning/secret-list-private-push-protection.md index ddb0eac1f8..c143ad8609 100644 --- a/translations/es-ES/data/reusables/secret-scanning/secret-list-private-push-protection.md +++ b/translations/es-ES/data/reusables/secret-scanning/secret-list-private-push-protection.md @@ -21,6 +21,6 @@ ReadMe | Llave de Acceso de la API de ReadMe API | readmeio_api_access_token{% e {%- ifversion fpt or ghec or ghes > 3.5 or ghae-issue-7375 %} redirect.pizza | Token de la API de redirect.pizza | redirect_pizza_api_token{% endif %} Samsara | Token de la API de Samsara | samsara_api_token Samsara | Token de Acceso OAuth a Samsara | samsara_oauth_access_token SendGrid | Llave de la API de SendGrid | sendgrid_api_key Sendinblue | Llave de la API de Sendinblue | sendinblue_api_key Sendinblue | Llave SMTP de Sendinblue | sendinblue_smtp_key Shippo | Token de la API en Vivo de Shippo | shippo_live_api_token Shopify | Secreto Compartido de la Aplicación de Shopify | shopify_app_shared_secret Shopify | Token de Acceso a Shopify | shopify_access_token Slack | Token de la API de Slack | slack_api_token Stripe | Llave Secreta de la API en Vivo de Stripe | stripe_api_key Tencent Cloud | ID Secreta de la Nube de Tencent | tencent_cloud_secret_id Typeform | Token de Acceso Personal a Typeform | typeform_personal_access_token {%- ifversion fpt or ghec or ghes > 3.6 or ghae-issue-7456 %} -Uniwise | WISEflow API Key | wiseflow_api_key{% endif %} WorkOS | WorkOS Production API Key | workos_production_api_key +Uniwise | Llave de la API de WISEflow | wiseflow_api_key{% endif %} WorkOS | Llave de la API de Producción de WorkOS | workos_production_api_key {%- ifversion fpt or ghec or ghes > 3.6 or ghae-issue-7456 %} Zuplo | Llave de la API de Consumidor de Zuplo | zuplo_consumer_api_key{% endif %} diff --git a/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md b/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md index d0496c2448..09e843def9 100644 --- a/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md +++ b/translations/es-ES/data/reusables/webhooks/pull_request_review_thread_short_desc.md @@ -1 +1 @@ -Activity related to a comment thread on a pull request being marked as resolved or unresolved. {% data reusables.webhooks.action_type_desc %} +Actividad relacionada con un hilo de comentarios en una solicitud de cambios que se marcó como resuelta o no resuelta. {% data reusables.webhooks.action_type_desc %} diff --git a/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md b/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md index c851f14289..f4acfb40fe 100644 --- a/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md +++ b/translations/es-ES/data/reusables/webhooks/pull_request_thread_properties.md @@ -1,5 +1,5 @@ | Clave | Tipo | Descripción | | ---------------------- | ----------- | ----------------------------------------------------------------------------------- | -| `Acción` | `secuencia` | La acción que se realizó. Puede ser una de las siguientes:
  • `resolved` - A comment thread on a pull request was marked as resolved.
  • `unresolved` - A previously resolved comment thread on a pull request was marked as unresolved.
| -| `solicitud_extracción` | `objeto` | The [pull request](/rest/reference/pulls) the thread pertains to. | -| `hilo` | `objeto` | The thread that was affected. | +| `Acción` | `secuencia` | La acción que se realizó. Puede ser una de las siguientes:
  • `resolved` - Un hilo de comentarios en una solicitud de cambios se marcó como resuelto.
  • `unresolved` - Un hilo de comentarios previamente resueltos en una solicitud de cambios se marcó como no resuelta.
| +| `solicitud_extracción` | `objeto` | La [solicitud de cmabios](/rest/reference/pulls) a la cual pertenece el hilo. | +| `hilo` | `objeto` | El hilo que se afectó. | diff --git a/translations/es-ES/data/variables/actions.yml b/translations/es-ES/data/variables/actions.yml index 4fa0661763..f8f4dda96f 100644 --- a/translations/es-ES/data/variables/actions.yml +++ b/translations/es-ES/data/variables/actions.yml @@ -1,2 +1,3 @@ --- azure_portal: 'Portal de Azure' +hosted_runner: 'larger runner' diff --git a/translations/es-ES/data/variables/product.yml b/translations/es-ES/data/variables/product.yml index 7b77bbbe9d..6f536b54b1 100644 --- a/translations/es-ES/data/variables/product.yml +++ b/translations/es-ES/data/variables/product.yml @@ -112,6 +112,10 @@ prodname_registry: 'Registro del paquete de GitHub' prodname_container_registry: 'Registro de contenedores' prodname_docker_registry_namespace: '{% ifversion fpt or ghec %}`docker.pkg.github.com`{% elsif ghes or ghae %}docker.HOSTNAME{% endif %}' prodname_container_registry_namespace: '{% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes or ghae %}containers.HOSTNAME{% endif %}' +prodname_npm_registry: 'Registro de npm' +prodname_ghcr_and_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} y {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_or_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} o {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_and_npm_registry_full: '{% data variables.product.prodname_container_registry %} (`ghcr.io`){% ifversion packages-npm-v2 %} y {% data variables.product.prodname_npm_registry %} (`npm.pkg.github.com`){% endif %}' #GitHub Insights prodname_insights: 'GitHub Insights' #GitHub Sponsors diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md index 5a437e284b..0be564ecf1 100644 --- a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -1,6 +1,6 @@ --- title: Setting up and managing your personal account on GitHub -intro: 'You can manage settings for your personal account on {% data variables.product.prodname_dotcom %}, including email preferences, collaborator access for personal repositories, and organization memberships.' +intro: 'You can manage settings for your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, including email preferences, access to personal repositories, and organization memberships. You can also manage the account itself.' shortTitle: Personal accounts redirect_from: - /categories/setting-up-and-managing-your-github-user-account @@ -15,6 +15,7 @@ topics: - Accounts children: - /managing-personal-account-settings + - /managing-your-personal-account - /managing-email-preferences - /managing-access-to-your-personal-repositories - /managing-your-membership-in-organizations diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index a2d3ec2c4e..c38de04124 100644 --- a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -1,6 +1,6 @@ --- title: ユーザ アカウント設定の管理 -intro: ユーザ名を変更する、アカウントを削除するなど、個人アカウントの設定を変更できます。 +intro: 'You can manage settings for your personal account, including your theme, username, default branch, accessibility, and security settings.' redirect_from: - /categories/29/articles - /categories/user-accounts @@ -19,9 +19,6 @@ children: - /managing-your-theme-settings - /managing-your-tab-size-rendering-preference - /changing-your-github-username - - /merging-multiple-personal-accounts - - /converting-a-user-into-an-organization - - /deleting-your-personal-account - /permission-levels-for-a-personal-account-repository - /permission-levels-for-a-project-board-owned-by-a-personal-account - /managing-accessibility-settings @@ -29,7 +26,6 @@ children: - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards - /integrating-jira-with-your-personal-projects - - /best-practices-for-leaving-your-company - /what-does-the-available-for-hire-checkbox-do shortTitle: Personal account settings --- diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md similarity index 95% rename from translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md rename to translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md index 0f84794666..155379d05f 100644 --- a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -6,6 +6,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/best-practices-for-leaving-your-company - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company versions: fpt: '*' ghec: '*' diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md similarity index 95% rename from translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md rename to translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md index 5097e8193a..911efee527 100644 --- a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -7,6 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization intro: You can convert your personal account into an organization. これにより、Organization に属するリポジトリに対して、より細かく権限を設定できます。 versions: fpt: '*' @@ -66,5 +67,5 @@ You can also convert your personal account directly into an organization. アカ ## 参考リンク - [Team の設定](/articles/setting-up-teams) -{% ifversion fpt or ghec %}-"[Organization に参加するようユーザを招待する](/articles/inviting-users-to-join-your-organization){% endif %} +{% ifversion fpt or ghec %}- 「[ユーザを Organization に招待する](/articles/inviting-users-to-join-your-organization)」{% endif %} - [Organization にアクセスする](/articles/accessing-an-organization) diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md similarity index 59% rename from translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md rename to translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index cc6d495b49..0830d12f26 100644 --- a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -1,39 +1,53 @@ --- title: Deleting your personal account -intro: 'You can delete your personal account on {% data variables.product.product_name %} at any time.' +intro: 'You can delete your personal account on {% data variables.product.product_location %} at any time.' redirect_from: - /articles/deleting-a-user-account - /articles/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account versions: fpt: '*' ghes: '*' ghec: '*' topics: - Accounts -shortTitle: Delete your personal account +shortTitle: Delete your account --- -Deleting your personal account removes all repositories, forks of private repositories, wikis, issues, pull requests, and pages owned by your account. {% ifversion fpt or ghec %} 他のユーザが所有するリポジトリでこれまで作成した Issue とプルリクエスト、また行ったコメントが削除されることはなく、代わりに [ゴーストユーザ](https://github.com/ghost)に関連付けられます。{% else %}他のユーザが所有するリポジトリでこれまで作成した Issue とプルリクエスト、また行ったコメントが削除されることはありません。{% endif %} +## About deletion of your personal account -{% ifversion fpt or ghec %} When you delete your account we stop billing you. The email address associated with the account becomes available for use with a different account on {% data variables.product.product_location %}. After 90 days, the account name also becomes available to anyone else to use on a new account. {% endif %} +Deleting your personal account removes all repositories, forks of private repositories, wikis, issues, pull requests, and pages owned by your account. {% ifversion fpt or ghec %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted. Your resources and comments will become associated with the [ghost user](https://github.com/ghost).{% else %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted.{% endif %} -If you’re the only owner of an organization, you must transfer ownership to another person or delete the organization before you can delete your personal account. If there are other owners in the organization, you must remove yourself from the organization before you can delete your personal account. +{% ifversion ghec %} + +{% note %} + +**Note**: If your enterprise manages your account and you sign into {% data variables.product.product_location %} through your company's identity provider (IdP), you cannot delete your account. 詳しい情報については「[{% data variables.product.prodname_emus %}について](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)」を参照してください。 + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %}When you delete your account we stop billing you. The email address associated with the account becomes available for use with a different account on {% data variables.product.product_location %}. After 90 days, the account name also becomes available to anyone else to use on a new account. {% endif %} + +If you're the only owner of an organization, you must transfer ownership to another person or delete the organization before you can delete your personal account. If there are other owners in the organization, you must remove yourself from the organization before you can delete your personal account. + +詳しい情報については、次の記事を参照してください。 -詳しい情報については、以下を参照してください。 - "[Organization の所有権の移譲](/articles/transferring-organization-ownership)" - "[Organization アカウントの削除](/articles/deleting-an-organization-account)" - "[Organization から自分を削除する](/articles/removing-yourself-from-an-organization/)" ## アカウントデータのバックアップ -Before you delete your personal account, make a copy of all repositories, private forks, wikis, issues, and pull requests owned by your account. +Before you delete your personal account, make a copy of all repositories, private forks, wikis, issues, and pull requests owned by your account. For more information, see "[Backing up a repository](/repositories/archiving-a-github-repository/backing-up-a-repository)." {% warning %} -**Warning:** Once your personal account has been deleted, GitHub cannot restore your content. +**Warning:** Once your personal account has been deleted, {% ifversion fpt or ghec %}{% data variables.product.company_short %}{% elsif ghes or ghae %}an enterprise owner{% endif %} cannot restore your content. {% endwarning %} diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 0000000000..ab1c7a9394 --- /dev/null +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md @@ -0,0 +1,19 @@ +--- +title: Managing your personal account +intro: 'You can manage your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. For example, you can {% ifversion fpt or ghec %}manage multiple accounts, {% endif %}convert an account to an organization{% ifversion fpt or ghec or ghes %}, or delete an account{% endif %}.' +shortTitle: Manage personal account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /managing-multiple-accounts + - /merging-multiple-personal-accounts + - /converting-a-user-into-an-organization + - /best-practices-for-leaving-your-company + - /deleting-your-personal-account +--- + diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md new file mode 100644 index 0000000000..d8af914a05 --- /dev/null +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md @@ -0,0 +1,105 @@ +--- +title: Managing multiple accounts +intro: 'If you use one workstation to contribute to projects for more than one account on {% data variables.product.product_location %}, you can modify your Git configuration to simplify the contribution process.' +versions: + feature: multiple-accounts-one-workstation +topics: + - Accounts + - Git + - GitHub +shortTitle: Manage multiple accounts +--- + +## About management of multiple accounts + +In some cases, you may need to use multiple accounts on {% data variables.product.product_location %}. For example, you may have a personal account for open source contributions, and your employer may also create and manage a user account for you within an enterprise. + +You cannot use your {% data variables.product.prodname_managed_user %} to contribute to public projects on {% data variables.product.product_location %}, so you must contribute to those resources using your personal account. For more information, see "[About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}."{% endif %} + +If you want to use one workstation to contribute from both accounts, you can simplify contribution with Git by using a mixture of protocols to access repository data, or by using credentials on a per-repository basis. + +{% warning %} + +**Warning**: Be mindful when you use one workstation to contribute to two separate accounts. Management of two or more accounts can increase the chance of mistakenly leaking internal code to the public. + +{% endwarning %} + +If you aren't required to use a {% data variables.product.prodname_managed_user %}, {% data variables.product.company_short %} recommends that you use one personal account for all your work on {% data variables.product.product_location %}. With a single personal account, you can contribute to a combination of personal, open source, or professional projects using one identity. Other people can invite the account to contribute to both individual repositories and repositories owned by an organization, and the account can be a member of multiple organizations or enterprises. + +## Contributing to two accounts using HTTPS and SSH + +If you contribute with two accounts from one workstation, you can access repositories by using a different protocol and credentials for each account. + +Git can use either the HTTPS or SSH protocol to access and update data in repositories on {% data variables.product.product_location %}. The protocol you use to clone a repository determines which credentials your workstation will use to authenticate when you access the repository. With this approach to account management, you store the credentials for one account to use for HTTPS connections and upload an SSH key to the other account to use for SSH connections. + +You can find both the HTTPS or an SSH URLs for cloning a repository on {% data variables.product.product_name %}. 詳しい情報については[リポジトリのクローン](/repositories/creating-and-managing-repositories/cloning-a-repository)を参照してください。 + +For more information about the use of SSH to access repositories on {% data variables.product.product_name %}, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +## Contributing to multiple accounts using HTTPS and PATs + +Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens (PAT) for each account by configuring Git to store different credentials for each repository. + +{% mac %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + - If the output is `osxkeychain`, you're using the macOS keychain. To clear the credentials, enter the following command. + + ```shell{:copy} + git credential-osxkeychain erase https://github.com + ``` + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endmac %} + +{% windows %} + +1. Git Bash を開きます。 +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} + - If the output is `wincred`, you're using the Windows Credential Manager. To clear the credentials, enter the following command. + + ```shell{:copy} + cmdkey /delete:LegacyGeneric:target=git:https://github.com + ``` +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endwindows %} + +{% linux %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endlinux %} + +## Contributing to multiple accounts using SSH and `GIT_SSH_COMMAND` + +If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps. +1. Determine the repository's full name with owner, using a command such as `git config --get remote.origin.url`. +2. Choose the correct SSH key for authentication. +3. Modify `GIT_SSH_COMMAND` accordingly. For more information about `GIT_SSH_COMMAND`, see [Environment Variables](https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHCOMMANDcode) in the Git documentation. + +For example, the following command sets the `GIT_SSH_COMMAND` environment variable to specify an SSH command that uses the private key file at **_PATH/TO/KEY/FILE_** for authentication to clone the repository named **_OWNER_**/**_REPOSITORY_** on {% data variables.product.product_location %}. + +
+GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
+
diff --git a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md similarity index 94% rename from translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md rename to translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md index 2a406483de..e77a634540 100644 --- a/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md +++ b/translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -8,12 +8,13 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts versions: fpt: '*' ghec: '*' topics: - Accounts -shortTitle: Merge multiple personal accounts +shortTitle: Merge multiple accounts --- {% tip %} diff --git a/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index 7e41005e42..965e09780e 100644 --- a/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -73,6 +73,7 @@ The following example OIDC token uses a subject (`sub`) that references a job en "repository": "octo-org/octo-repo", "repository_owner": "octo-org", "actor_id": "12", + "repo_visibility": private, "repository_id": "74", "repository_owner_id": "65", "run_id": "example-run-id", @@ -130,6 +131,7 @@ The token also includes custom claims provided by {% data variables.product.prod | `job_workflow_ref` | This is the ref path to the reusable workflow used by this job. For more information, see "["Using OpenID Connect with reusable workflows"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)." | | `ref` | _(Reference)_ The git ref that triggered the workflow run. | | `ref_type` | The type of `ref`, for example: "branch". | +| `repo_visibility` | The visibility of the repository where the workflow is running. Accepts the following values: `internal`, `private`, or `public`. | | `リポジトリ` | The repository from where the workflow is running. | | `repository_id` | The ID of the repository from where the workflow is running. | | `repository_owner` | The name of the organization in which the `repository` is stored. | @@ -145,11 +147,11 @@ With OIDC, a {% data variables.product.prodname_actions %} workflow requires a t Audience and Subject claims are typically used in combination while setting conditions on the cloud role/resources to scope its access to the GitHub workflows. - **Audience**: By default, this value uses the URL of the organization or repository owner. This can be used to set a condition that only the workflows in the specific organization can access the cloud role. -- **Subject**: Has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. +- **Subject**: By default, has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. See "[Example subject claims](#example-subject-claims)" to see how the subject claim is assembled from concatenated metadata. -There are also many additional claims supported in the OIDC token that can also be used for setting these conditions. +If you need more granular trust conditions, you can customize the issuer (`iss`) and subject (`sub`) claims that are included with the JWT. For more information, see "[Customizing the token claims](#customizing-the-token-claims)". -In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. +There are also many additional claims supported in the OIDC token that can be used for setting these conditions. In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. {% note %} @@ -240,6 +242,197 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% data reusables.actions.oidc-permissions-token %} +{% ifversion actions-oidc-hardening-config %} +## Customizing the token claims + +You can security harden your OIDC configuration by customizing the claims that are included with the JWT. These customisations allow you to define more granular trust conditions on your cloud roles when allowing your workflows to access resources hosted in the cloud: + +{% ifversion ghec %} - For an additional layer of security, you can append the `issuer` url with your enterprise slug. This lets you set conditions on the issuer (`iss`) claim, configuring it to only accept JWT tokens from a unique `issuer` URL that must include your enterprise slug.{% endif %} +- You can standardize your OIDC configuration by setting conditions on the subject (`sub`) claim that require JWT tokens to originate from a specific repository, reusable workflow, or other source. +- You can define granular OIDC policies by using additional OIDC token claims, such as `repository_id` and `repo_visibility`. For more information, see "[Understanding the OIDC token](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)". + +To customize these claim formats, organization and repository admins can use the REST API endpoints described in the following sections. + +{% ifversion ghec %} + +### Switching to a unique token URL + +By default, the JWT is issued by {% data variables.product.prodname_dotcom %}'s OIDC provider at `https://token.actions.githubusercontent.com`. This path is presented to your cloud provider using the `iss` value in the JWT. + +Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://api.github.com/enterprises//actions/oidc/customization/issuer`. Replace `` with the slug value of your enterprise. + +This configuration means that your enterprise will receive the OIDC token from a unique URL, and you can then configure your cloud provider to only accept tokens from that URL. This helps ensure that only the enterprise's repositories can access your cloud resources using OIDC. + +To activate this setting for your enterprise, an enterprise admin must use the `/enterprises/{enterprise}/actions/oidc/customization/issuer` endpoint and specify `"include_enterprise_slug": true` in the request body. For more information, see "[Set the {% data variables.product.prodname_actions %} OIDC custom issuer policy for an enterprise](/rest/actions/oidc#set-the-github-actions-oidc-custom-issuer-policy-for-an-enterprise)." + +After this setting is applied, the JWT will contain the updated `iss` value. In the following example, the `iss` key uses `octocat-inc` as its `enterpriseSlug` value: + +```json +{ + "jti": "6f4762ed-0758-4ccb-808d-ee3af5d723a8" + "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" + "aud": "http://octocat-inc.example/octocat-inc" + "enterprise": "octocat-inc" + "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Customizing the subject claims for an organization + +To configure organization-wide security, compliance, and standardization, you can customize the standard claims to suit your required access conditions. If your cloud provider supports conditions on subject claims, you can create a condition that checks whether the `sub` value matches the path of the reusable workflow, such as `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. The exact format will vary depending on your cloud provider's OIDC configuration. To configure the matching condition on {% data variables.product.prodname_dotcom %}, you can can use the REST API to require that the `sub` claim must always include a specific custom claim, such as `job_workflow_ref`. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)." + +Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." + +The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, organization admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. {% data reusables.actions.use-request-body-api %} + +To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before customizing the configuration using the REST API. Once the configuration is completed, each time a new job runs, the OIDC token generated during that job will follow the new customization template. If the matching condition doesn't exist in the cloud provider's OIDC configuration before the job runs, the generated token might not be accepted by the cloud provider, since the cloud conditions may not be synchronized. + +{% note %} + +**Note**: When the organization template is applied, it will not affect any existing repositories that already use OIDC. For existing repositories, as well as any new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. For more information, see "[Set the opt-in flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)." + +{% endnote %} + +#### Example: Allowing repository based on visibility and owner + +This example template allows the `sub` claim to have a new format, using `repository_owner` and `repository_visibility`: + +```json +{ + "include_claim_keys": [ + "repository_owner", + "repository_visibility" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repository_owner` and `repository_visibility`. For example: `"repository_owner: "monalisa":repository_visibility:private"`. The approach lets you restrict cloud role access to only private repositories within an organization or enterprise. + +#### Example: Allowing access to all repositories with a specific owner + +This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner" + ] +} + +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `repository_owner`. For example: `"repository_owner: "monalisa""` + +#### Example: Requiring a reusable workflow + +This example template allows the `sub` claim to have a new format that contains the value of the `job_workflow_ref` claim. This enables an enterprise to use [reusable workflows](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims) to enforce consistent deployments across its organizations and repositories. + +{% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "job_workflow_ref" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `job_workflow_ref`. For example: `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. + +#### Example: Requiring a reusable workflow and other claims + +The following example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} + +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. + +```json +{ + "include_claim_keys": [ + "repo", + "context", + "job_workflow_ref" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. + +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` + +#### Example: Granting access to a specific repository + +This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." + +{% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repo` claim that matches the required value. + +#### Example: Using system-generated GUIDs + +This example template enables predictable OIDC claims with system-generated GUIDs that do not change between renames of entities (such as renaming a repository). {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "repository_id" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_id` claim that matches the required value. + +oR: + +```json +{ + "include_claim_keys": [ + "repository_owner_id" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_owner_id` claim that matches the required value. + +#### Resetting your customizations + +This example template resets the subject claims to the default format. {% data reusables.actions.use-request-body-api %} This template effectively opts out of any organization-level customization policy. + +```json +{ + "include_claim_keys": [ + "repo", + "context" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo` and `context`. + +#### Using the default subject claims + +For repositories that can receive a subject claim policy from their organization, the repository owner can later choose to opt-out and instead use the default `sub` claim format. To configure this, the repository admin must use the REST API endpoint at "[Set the opt-out flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository)" with the following request body: + +```json +{ + "use_default": true +} +``` + +{% endif %} + ## Updating your workflows for OIDC You can now update your YAML workflows to use OIDC access tokens instead of secrets. Popular cloud providers have published their official login actions that make it easy for you to get started with OIDC. For more information about updating your workflows, see the cloud-specific guides listed below in "[Enabling OpenID Connect for your cloud provider](#enabling-openid-connect-for-your-cloud-provider)." diff --git a/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index 0aa06921aa..f8fd239334 100644 --- a/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -32,10 +32,52 @@ This guide gives an overview of how to configure HashiCorp Vault to trust {% dat To use OIDC with HashiCorp Vault, you will need to add a trust configuration for the {% data variables.product.prodname_dotcom %} OIDC provider. For more information, see the HashiCorp Vault [documentation](https://www.vaultproject.io/docs/auth/jwt). -Configure the vault to accept JSON Web Tokens (JWT) for authentication: -- For the `oidc_discovery_url`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- For `bound_issuer`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Ensure that `bound_subject` is correctly defined for your security requirements. For more information, see ["Configuring the OIDC trust with the cloud"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud) and [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action). +To configure your Vault server to accept JSON Web Tokens (JWT) for authentication: + +1. Enable the JWT `auth` method, and use `write` to apply the configuration to your Vault. For `oidc_discovery_url` and `bound_issuer` parameters, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. These parameters allow the Vault server to verify the received JSON Web Tokens (JWT) during the authentication process. + + ```sh{:copy} + vault auth enable jwt + ``` + + ```sh{:copy} + vault write auth/jwt/config \ + bound_issuer="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" \ + oidc_discovery_url="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" + ``` +2. Configure a policy that only grants access to the specific paths your workflows will use to retrieve secrets. For more advanced policies, see the HashiCorp Vault [Policies documentation](https://www.vaultproject.io/docs/concepts/policies). + + ```sh{:copy} + vault policy write myproject-production - <`: Replace this with the URL of your HashiCorp Vault. +- ``: Replace this with the Namespace you've set in HashiCorp Vault. For example: `admin`. - ``: Replace this with the role you've set in the HashiCorp Vault trust relationship. -- ``: Replace this with the audience you've defined in the HashiCorp Vault trust relationship. -- ``: Replace this with the path to the secret you're retrieving from HashiCorp Vault. For example: `secret/data/ci npmToken`. +- ``: Replace this with the path to the secret you're retrieving from HashiCorp Vault. For example: `secret/data/production/ci npmToken`. ```yaml{:copy} jobs: - retrieve-secret: - steps: - - name: Retrieve secret from Vault - uses: hashicorp/vault-action@v2.4.0 - with: - url: - role: - method: jwt - jwtGithubAudience: - secrets: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + method: jwt + url: + namespace: + role: + secrets: - - name: Use secret from Vault - run: | - # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. +``` + +{% note %} + +**ノート**: + +- If your Vault server is not accessible from the public network, consider using a self-hosted runner with other available Vault [auth methods](https://www.vaultproject.io/docs/auth). 詳しい情報については「[セルフホストランナーについて](/actions/hosting-your-own-runners/about-self-hosted-runners)」を参照してください。 +- `` must be set for a Vault Enterprise (including HCP Vault) deployment. For more information, see [Vault namespace](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Revoking the access token + +By default, the Vault server will automatically revoke access tokens when their TTL is expired, so you don't have to manually revoke the access tokens. However, if you do want to revoke access tokens immediately after your job has completed or failed, you can manually revoke the issued token using the [Vault API](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Set the `exportToken` option to `true` (default: `false`). This exports the issued Vault access token as an environment variable: `VAULT_TOKEN`. +2. Add a step to call the [Revoke a Token (Self)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self) Vault API to revoke the access token. + +```yaml{:copy} +jobs: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + exportToken: true + method: jwt + url: + role: + secrets: + + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + + - name: Revoke token + # This step always runs at the end regardless of the previous steps result + if: always() + run: | + curl -X POST -sv -H "X-Vault-Token: {% raw %}${{ env.VAULT_TOKEN }}{% endraw %}" \ + /v1/auth/token/revoke-self ``` diff --git a/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md b/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md index b481d6a0a5..e783735846 100644 --- a/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md +++ b/translations/ja-JP/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md @@ -23,11 +23,18 @@ topics: Rather than copying and pasting deployment jobs from one workflow to another, you can create a reusable workflow that performs the deployment steps. A reusable workflow can be used by another workflow if it meets one of the access requirements described in "[Reusing workflows](/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows)." -When combined with OpenID Connect (OIDC), reusable workflows let you enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. +You should be familiar with the concepts described in "\[Reusing workflows\](/actions/learn-github-actions/reusing-workflows" and "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)." -In order to create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. This allows your cloud provider to identify which repository the job originally came from. If your cloud provider only supports the standard claims (_audience_ and _subject_), it will not be able to determine that the job originated from the reusable workflow repository. Cloud providers that support `job_workflow_ref` include Google Cloud Platform and HashiCorp Vault. +## Defining the trust conditions -Before proceeding, you should be familiar with the concepts of [reusable workflows](/actions/learn-github-actions/reusing-workflows) and [OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect). +When combined with OpenID Connect (OIDC), reusable workflows let you enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. The available options will vary depending on your cloud provider: + +- **Using `job_workflow_ref`**: + - To create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. This allows your cloud provider to identify which repository the job originally came from. + - For clouds that only support the standard claims (audience (`aud`) and subject (`sub`)), you can use the API to customize the `sub` claim to include `job_workflow_ref`. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". Support for custom claims is currently available for Google Cloud Platform and HashiCorp Vault. + +- **Customizing the token claims**: + - You can configure more granular trust conditions by customizing the issuer (`iss`) and subject (`sub`) claims included with the JWT. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". ## How the token works with reusable workflows diff --git a/translations/ja-JP/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/translations/ja-JP/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index 2a31a921b5..d3cdb214af 100644 --- a/translations/ja-JP/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/translations/ja-JP/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -18,15 +18,23 @@ shortTitle: Run runner app on startup {% capture service_first_step %}1. セルフホストランナー アプリケーションが現在実行中の場合は、そのアプリケーションを停止します。{% endcapture %} {% capture service_non_windows_intro_shell %}ランナー マシンで、セルフホストランナー アプリケーションをインストールしたディレクトリでシェルを開きます。 以下のコマンドを使って、セルフホストランナーサービスをインストール及び管理します。{% endcapture %} -{% capture service_nonwindows_intro %}セルフホストランナーアプリケーションをサービスとして設定する前に、ランナーを{% data variables.product.product_name %}に追加しなければなりません。 詳しい情報については「[セルフホストランナーの追加](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)」を参照してください。{% endcapture %} -{% capture service_win_name %}actions.runner.*{% endcapture %} +{% capture service_nonwindows_intro %} + +{% note %} + +**Note:** You must add a runner to {% data variables.product.product_name %} before you can configure the self-hosted runner application as a service. 詳しい情報については「[セルフホストランナーの追加](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)」を参照してください。 + +{% endnote %} +{% endcapture %} + +{% capture service_win_name %}actions.runner.*{% endcapture %} {% linux %} {{ service_nonwindows_intro }} -`systemd`を利用するLinuxのシステムでは、セルフホストランナーアプリケーションと共に配布されている`svc.sh`スクリプトを使い、セルフホストランナーアプリケーションをサービスとしてインストール及び管理できます。 +For Linux systems that use `systemd`, you can use the `svc.sh` script that is created after successfully adding the runner to install and manage using the application as a service. {{ service_non_windows_intro_shell }} diff --git a/translations/ja-JP/content/actions/learn-github-actions/contexts.md b/translations/ja-JP/content/actions/learn-github-actions/contexts.md index 1a333900b7..a2f95f52c6 100644 --- a/translations/ja-JP/content/actions/learn-github-actions/contexts.md +++ b/translations/ja-JP/content/actions/learn-github-actions/contexts.md @@ -33,17 +33,13 @@ You can access contexts using the expression syntax. For more information, see " {% data reusables.actions.context-injection-warning %} -| コンテキスト名 | 種類 | 説明 | -| ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `github` | `オブジェクト` | ワークフロー実行に関する情報。 詳しい情報については、「[`github` コンテキスト](#github-context)」を参照してください。 | -| `env` | `オブジェクト` | ワークフロー、ジョブ、ステップで設定された環境変数が含まれます。 詳しい情報については、[`env` コンテキスト](#env-context)を参照してください。 | -| `ジョブ` | `オブジェクト` | Information about the currently running job. 詳しい情報については、「[`job` コンテキスト](#job-context)」を参照してください。 | -| `steps` | `オブジェクト` | Information about the steps that have been run in the current job. 詳しい情報については、「[`steps` コンテキスト](#steps-context)」を参照してください。 | -| `runner` | `オブジェクト` | 現在のジョブを実行している runner に関する情報。 詳しい情報については[`runner`コンテキスト](#runner-context)を参照してください。 | -| `secrets` | `オブジェクト` | Contains the names and values of secrets that are available to a workflow run. For more information, see [`secrets` context](#secrets-context). | -| `strategy` | `オブジェクト` | Information about the matrix execution strategy for the current job. For more information, see [`strategy` context](#strategy-context). | -| `matrix` | `オブジェクト` | Contains the matrix properties defined in the workflow that apply to the current job. For more information, see [`matrix` context](#matrix-context). | -| `needs` | `オブジェクト` | Contains the outputs of all jobs that are defined as a dependency of the current job. 詳しい情報については[`needs`コンテキスト](#needs-context)を参照してください。 | +| コンテキスト名 | 種類 | 説明 | +| -------- | -------- | ------------------------------------------------------------------------------------------------ | +| `github` | `オブジェクト` | ワークフロー実行に関する情報。 詳しい情報については、「[`github` コンテキスト](#github-context)」を参照してください。 | +| `env` | `オブジェクト` | ワークフロー、ジョブ、ステップで設定された環境変数が含まれます。 詳しい情報については、[`env` コンテキスト](#env-context)を参照してください。 | +| `ジョブ` | `オブジェクト` | Information about the currently running job. 詳しい情報については、「[`job` コンテキスト](#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. 詳しい情報については、「[`steps` コンテキスト](#steps-context)」を参照してください。 | | `runner` | `object` | Information about the runner that is running the current job. 詳しい情報については[`runner`コンテキスト](#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. 詳しい情報については[`needs`コンテキスト](#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 %} @@ -184,7 +180,7 @@ jobs: | {% 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` | ワークフローの実行における `base_ref` またはプルリクエストのターゲットブランチ。 このプロパティは、ワークフローの実行をトリガーするイベントが `pull_request` または `pull_request_target` のいずれかである場合にのみ使用できます。 | +| `github.base_ref` | `string` | ワークフローの実行における `base_ref` またはPull Requestのターゲットブランチ。 このプロパティは、ワークフローの実行をトリガーするイベントが `pull_request` または `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` | `オブジェクト` | webhook ペイロードの完全なイベント。 このコンテキストを使用して、イベントの個々のプロパティにアクセスできます。 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` | ワークフローの実行をトリガーしたイベントの名前。 | @@ -196,7 +192,7 @@ jobs: {%- 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. 詳しい情報については「[{% 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. `Codertocat/Hello-World`などです。 | | `github.repository_owner` | `string` | The repository owner's name. たとえば`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 %} +| `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. `Codertocat/Hello-World`などです。 | | `github.repository_owner` | `string` | The repository owner's name. たとえば`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 %} @@ -390,6 +386,72 @@ jobs: - run: ./run-tests ``` +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} + +## `jobs` context + +The `jobs` context is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. 詳しい情報については「[ワークフローの再利用](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)」を参照してください。 + +| プロパティ名 | 種類 | 説明 | +| ------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `jobs` | `オブジェクト` | 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. `success`、`failure`、`cancelled`、`skipped`のいずれかの値をとります。 | +| `jobs..outputs` | `オブジェクト` | The set of outputs of a job in a reusable workflow. | +| `jobs..outputs.` | `string` | The value of a specific output for a job in a reusable workflow. | + +### Example contents of the `jobs` context + +This example `jobs` context contains the result and outputs of a job from a reusable workflow run. + +```json +{ + example_job: { + result: success, + outputs: { + output1: hello, + output2: world + } + } +} +``` + +### Example usage of the `jobs` context + +This example reusable workflow uses the `jobs` context to set outputs for the reusable workflow. Note how the outputs flow up from the steps, to the job, then to the `workflow_call` trigger. 詳しい情報については「[ワークフローの再利用](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)」を参照してください。 + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + firstword: + description: "The first output string" + value: ${{ jobs.example_job.outputs.output1 }} + secondword: + description: "The second output string" + value: ${{ jobs.example_job.outputs.output2 }} + +jobs: + example_job: + name: Generate output + runs-on: ubuntu-latest + # Map the job outputs to step outputs + outputs: + output1: ${{ steps.step1.outputs.firstword }} + output2: ${{ steps.step2.outputs.secondword }} + steps: + - id: step1 + run: echo "::set-output name=firstword::hello" + - id: step2 + run: echo "::set-output name=secondword::world" +``` +{% endraw %} + +{% endif %} + ## `steps` コンテキスト 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. @@ -508,7 +570,7 @@ jobs: ## `secrets` context -The `secrets` context contains the names and values of secrets that are available to a workflow run. The `secrets` context is not available for composite actions. For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-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. シークレットに関する詳しい情報については「[暗号化されたシークレット](/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. 詳しい情報については「[自動トークン認証](/actions/security-guides/automatic-token-authentication)」を参照してください。 diff --git a/translations/ja-JP/content/actions/learn-github-actions/understanding-github-actions.md b/translations/ja-JP/content/actions/learn-github-actions/understanding-github-actions.md index 9d55eacd5e..151fdbe6cc 100644 --- a/translations/ja-JP/content/actions/learn-github-actions/understanding-github-actions.md +++ b/translations/ja-JP/content/actions/learn-github-actions/understanding-github-actions.md @@ -93,7 +93,7 @@ You can write your own actions, or you can find actions to use in your workflows - {% data variables.product.prodname_actions %} について詳しくは、「[アクションの検索とカスタマイズ](/actions/learn-github-actions/finding-and-customizing-actions)」を参照してください。 {% ifversion fpt or ghec or ghes %} -- To understand how billing works for {% data variables.product.prodname_actions %}, see "[About billing for {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)". +- To understand how billing works for {% data variables.product.prodname_actions %}, see "[About billing for {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)." {% endif %} ## サポートへの連絡 diff --git a/translations/ja-JP/content/actions/publishing-packages/publishing-nodejs-packages.md b/translations/ja-JP/content/actions/publishing-packages/publishing-nodejs-packages.md index 57bb6f28eb..5a26f04f43 100644 --- a/translations/ja-JP/content/actions/publishing-packages/publishing-nodejs-packages.md +++ b/translations/ja-JP/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -98,9 +98,9 @@ Please note that you need to set the `registry-url` to `https://registry.npmjs.o ### 宛先リポジトリの設定 -*package.json* ファイルで `repository` キーを指定しない場合、{% data variables.product.prodname_registry %} は *package.json* ファイルの `name` フィールドで指定した {% data variables.product.prodname_dotcom %} リポジトリにパッケージを公開します。 たとえば、`@my-org/test` という名前のパッケージは、`my-org/test` {% data variables.product.prodname_dotcom %} というリポジトリに公開されます。 +Linking your package to {% data variables.product.prodname_registry %} using the `repository` key is optional. If you choose not to provide the `repository` key in your *package.json* file, then {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the `name` field of the *package.json* file. たとえば、`@my-org/test` という名前のパッケージは、`my-org/test` {% data variables.product.prodname_dotcom %} というリポジトリに公開されます。 If the `url` specified in the `repository` key is invalid, your package may still be published however it won't be linked to the repository source as intended. -ただし、`repository` キーを指定すると、そのキーのリポジトリが {% data variables.product.prodname_registry %} の宛先 npm レジストリとして使用されます。 たとえば、以下の *package.json* を公開すると、`my-amazing-package` という名前のパッケージが `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} リポジトリに公開されます。 +If you do provide the `repository` key in your *package.json* file, then the repository in that key is used as the destination npm registry for {% data variables.product.prodname_registry %}. たとえば、以下の *package.json* を公開すると、`my-amazing-package` という名前のパッケージが `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} リポジトリに公開されます。 Once published, only the repository source is updated, and the package doesn't inherit any permissions from the destination repository. ```json { diff --git a/translations/ja-JP/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/translations/ja-JP/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md index a4078416ff..bb214de90b 100644 --- a/translations/ja-JP/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md +++ b/translations/ja-JP/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -51,7 +51,7 @@ For more information on workflow run artifacts, see "[Persisting workflow data u ワークフローは、現在のブランチ、ベースブランチ(フォークされたリポジトリのベースブランチを含む)、またはデフォルトブランチ(通常は `main`)で作成されたキャッシュにアクセスして復元できます。 たとえば、デフォルトブランチで作成されたキャッシュは、どのPull Requestからもアクセスできます。 また、`feature-b` ブランチに `feature-a` ベースブランチがある場合、`feature-b` でトリガーされたワークフローは、デフォルトのブランチ(`main`)、`feature-a`、および `feature-b` で作成されたキャッシュにアクセスできます。 -Access restrictions provide cache isolation and security by creating a logical boundary between different branches. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-c` (with the base `main`). +Access restrictions provide cache isolation and security by creating a logical boundary between different branches or tags. For example, a cache created for the branch `feature-a` (with the base `main`) would not be accessible to a pull request for the branch `feature-c` (with the base `main`). On similar lines, a cache created for the tag `release-a` (from the base `main`) would not be accessible to a workflow triggered for the tag `release-b` (with the base `main`). Multiple workflows within a repository share cache entries. A cache created for a branch within a workflow can be accessed and restored from another workflow for the same repository and branch. diff --git a/translations/ja-JP/content/actions/using-workflows/events-that-trigger-workflows.md b/translations/ja-JP/content/actions/using-workflows/events-that-trigger-workflows.md index 1a2fbb5f41..46f479dde5 100644 --- a/translations/ja-JP/content/actions/using-workflows/events-that-trigger-workflows.md +++ b/translations/ja-JP/content/actions/using-workflows/events-that-trigger-workflows.md @@ -812,6 +812,8 @@ Runs your workflow when activity on a pull request in the workflow's repository This event runs in the context of the base of the pull request, rather than in the context of the merge commit, as the `pull_request` event does. This prevents execution of unsafe code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow. This event allows your workflow to do things like label or comment on pull requests from forks. Avoid using this event if you need to build or run code from the pull request. +To ensure repository security, branches with names that match certain patterns (such as those which look similar to SHAs) may not trigger workflows with the `pull_request_target` event. + {% warning %} **Warning:** For workflows that are triggered by the `pull_request_target` event, the `GITHUB_TOKEN` is granted read/write repository permission unless the `permissions` key is specified and the workflow can access secrets, even when it is triggered from a fork. ワークフローはPull Requestのベースのコンテキストで実行されますが、このイベントでPull Requestから信頼できないコードをチェックアウトしたり、ビルドしたり、実行したりしないようにしなければなりません。 Additionally, any caches share the same scope as the base branch. To help prevent cache poisoning, you should not save the cache if there is a possibility that the cache contents were altered. 詳細については、GitHub Security Lab Web サイトの「[GitHub Actions とワークフローを安全に保つ: pwn リクエストの防止](https://securitylab.github.com/research/github-actions-preventing-pwn-requests)」を参照してください。 @@ -957,7 +959,7 @@ on: #### Running your workflow only when a push to specific branches occurs -You can use the `branches` or `branches-ignore` filter to configure your workflow to only run when specific branches are pushed. 詳しい情報については「[GitHub Actionsのワークフロー構文](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)」を参照してください。 +You can use the `branches` or `branches-ignore` filter to configure your workflow to only run when specific branches are pushed. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)." For example, this workflow will run when someone pushes to `main` or to a branch that starts with `releases/`. @@ -986,7 +988,7 @@ on: #### Running your workflow only when a push of specific tags occurs -You can use the `tags` or `tags-ignore` filter to configure your workflow to only run when specific tags are pushed. 詳しい情報については「[GitHub Actionsのワークフロー構文](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)」を参照してください。 +You can use the `tags` or `tags-ignore` filter to configure your workflow to only run when specific tags are pushed. For more information, see "[Workflow syntax for GitHub Actions](/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore)." For example, this workflow will run when someone pushes a tag that starts with `v1.`. @@ -1039,7 +1041,7 @@ on: {% data reusables.actions.branch-requirement %} -Runs your workflow when activity related to {% data variables.product.prodname_registry %} occurs in your repository. 詳しい情報については、「[{% data variables.product.prodname_registry %} のドキュメント](/packages)」を参照してください。 +Runs your workflow when activity related to {% data variables.product.prodname_registry %} occurs in your repository. For more information, see "[{% data variables.product.prodname_registry %} Documentation](/packages)." For example, you can run a workflow when a new package version has been `published`. @@ -1091,7 +1093,7 @@ on: {% data reusables.actions.branch-requirement %} -{% data variables.product.product_name %} の外部で生じるアクティビティのためにワークフローをトリガーしたい場合、{% data variables.product.product_name %} API を使って、[`repository_dispatch`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#repository_dispatch) と呼ばれる webhook イベントをトリガーできます。 詳細については、「[リポジトリディスパッチ イベントの作成](/rest/reference/repos#create-a-repository-dispatch-event)」を参照してください。 +You can use the {% data variables.product.product_name %} API to trigger a webhook event called [`repository_dispatch`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads/#repository_dispatch) when you want to trigger a workflow for activity that happens outside of {% data variables.product.product_name %}. 詳細については、「[リポジトリディスパッチ イベントの作成](/rest/reference/repos#create-a-repository-dispatch-event)」を参照してください。 When you make a request to create a `repository_dispatch` event, you must specify an `event_type` to describe the activity type. By default, all `repository_dispatch` activity types trigger a workflow to run. You can use the `types` keyword to limit your workflow to run when a specific `event_type` value is sent in the `repository_dispatch` webhook payload. diff --git a/translations/ja-JP/content/actions/using-workflows/workflow-syntax-for-github-actions.md b/translations/ja-JP/content/actions/using-workflows/workflow-syntax-for-github-actions.md index 1587eb8129..93cef6d72c 100644 --- a/translations/ja-JP/content/actions/using-workflows/workflow-syntax-for-github-actions.md +++ b/translations/ja-JP/content/actions/using-workflows/workflow-syntax-for-github-actions.md @@ -365,9 +365,9 @@ For more information, see "[Context availability](/actions/learn-github-actions/ ジョブでステップの一部として実行されるアクションを選択します。 アクションとは、再利用可能なコードの単位です。 ワークフロー、パブリックリポジトリ、または[公開されているDockerコンテナイメージ](https://hub.docker.com/)と同じリポジトリで定義されているアクションを使用できます。 -Git ref、SHA、またはDockerタグ番号を指定して、使用しているアクションのバージョンを含めることを強く推奨します。 バージョンを指定しないと、アクションのオーナーがアップデートを公開したときに、ワークフローが中断したり、予期せぬ動作をしたりすることがあります。 +We strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag. バージョンを指定しないと、アクションのオーナーがアップデートを公開したときに、ワークフローが中断したり、予期せぬ動作をしたりすることがあります。 - リリースされたアクションバージョンのコミットSHAを使用するのが、安定性とセキュリティのうえで最も安全です。 -- 特定のメジャーアクションバージョンを使用すると、互換性を維持したまま重要な修正とセキュリティパッチを受け取ることができます。 ワークフローが引き続き動作することも保証できます。 +- If the action publishes major version tags, you should expect to receive critical fixes and security patches while still retaining compatibility. Note that this behavior is at the discretion of the action's author. - アクションのデフォルトブランチを使用すると便利なこともありますが、別のユーザが破壊的変更を加えた新しいメジャーバージョンをリリースすると、ワークフローが動作しなくなる場合があります。 入力が必要なアクションもあり、入力を[`with`](#jobsjob_idstepswith)キーワードを使って設定する必要があります。 必要な入力を判断するには、アクションのREADMEファイルをお読みください。 diff --git a/translations/ja-JP/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/ja-JP/content/admin/configuration/configuring-github-connect/about-github-connect.md index 801d3c5066..4b900f7f44 100644 --- a/translations/ja-JP/content/admin/configuration/configuring-github-connect/about-github-connect.md +++ b/translations/ja-JP/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -8,6 +8,7 @@ type: overview topics: - Enterprise - GitHub Connect +miniTocMaxHeadingLevel: 3 --- ## About {% data variables.product.prodname_github_connect %} @@ -37,6 +38,16 @@ Unified contributions | Allow users to include anonymized contribution counts fo ## Data transmission for {% data variables.product.prodname_github_connect %} +When {% data variables.product.prodname_github_connect %} is enabled, a record on {% data variables.product.prodname_ghe_cloud %} stores information about the connection. If you enable individual features of {% data variables.product.prodname_github_connect %}, additional data is transmitted. + +{% note %} + +**Note:** No repositories, issues, or pull requests are ever transmitted from {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} by {% data variables.product.prodname_github_connect %}. + +{% endnote %} + +### Data transmitted when {% data variables.product.prodname_github_connect %} is enabled + When you enable {% data variables.product.prodname_github_connect %} or specific {% data variables.product.prodname_github_connect %} features, a record on {% data variables.product.prodname_ghe_cloud %} stores the following information about the connection. {% ifversion ghes %} - The public key portion of your {% data variables.product.prodname_ghe_server %} license @@ -54,11 +65,7 @@ When you enable {% data variables.product.prodname_github_connect %} or specific {% data variables.product.prodname_github_connect %} syncs the above connection data between {% data variables.product.product_location %} and {% data variables.product.prodname_ghe_cloud %} weekly, from the day and approximate time that {% data variables.product.prodname_github_connect %} was enabled. -{% note %} - -**Note:** No repositories, issues, or pull requests are ever transmitted from {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} by {% data variables.product.prodname_github_connect %}. - -{% endnote %} +### Data transmitted by individual features of {% data variables.product.prodname_github_connect %} Additional data is transmitted if you enable individual features of {% data variables.product.prodname_github_connect %}. @@ -68,7 +75,7 @@ Automatic user license sync | Each {% data variables.product.product_name %} use {% data variables.product.prodname_dependabot_alerts %} | Vulnerability alerts | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} {% data variables.product.prodname_dependabot_updates %} | Dependencies and the metadata for each dependency's repository

If a dependency is stored in a private repository on {% data variables.product.prodname_dotcom_the_website %}, data will only be transmitted if {% data variables.product.prodname_dependabot %} is configured and authorized to access that repository. | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} {% data variables.product.prodname_dotcom_the_website %} actions | Name of action, action (YAML file from {% data variables.product.prodname_marketplace %}) | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %}

From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} -{% data variables.product.prodname_server_statistics %} | Aggregate {% data variables.product.prodname_ghe_server %} usage metrics
For the list of aggregate metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} +{% data variables.product.prodname_server_statistics %} | Aggregate metrics about your usage of {% data variables.product.prodname_ghe_server %}. For the complete list of metrics, see "[About {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} Unified search | Search terms, search results | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %}

From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} | Unified contributions | Contribution counts | From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} | diff --git a/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md b/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md index 1a0e48a7e4..3f1e658fb4 100644 --- a/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md +++ b/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md @@ -672,7 +672,7 @@ ghe-repo ユーザ名/reponame {% warning %} -**Warning**: Before using the `--prune` argument to remove unreachable Git objects, put {% data variables.product.product_location %} into maintenance mode, or ensure the repository is offline. 詳しい情報については"[メンテナンスモードの有効化とスケジューリング](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)"を参照してください。 +**Warning**: Before using the `--prune` argument to remove unreachable Git objects, put {% data variables.product.product_location %} into maintenance mode, or ensure all repositories within the same repository network are locked. 詳しい情報については"[メンテナンスモードの有効化とスケジューリング](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)"を参照してください。 {% endwarning %} diff --git a/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index 1d70ad47bd..30b804c836 100644 --- a/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/translations/ja-JP/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -31,12 +31,15 @@ Azure NSG を使用したインスタンスレベルの制限については、E ## 許可 IP アドレスを追加する +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## {% data variables.product.prodname_github_apps %}によるアクセスの許可 @@ -44,6 +47,8 @@ Azure NSG を使用したインスタンスレベルの制限については、E ## 許可 IP アドレスを有効化する +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -52,6 +57,8 @@ Azure NSG を使用したインスタンスレベルの制限については、E ## 許可 IP アドレスを編集する +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -59,6 +66,18 @@ Azure NSG を使用したインスタンスレベルの制限については、E {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. [**Update**] をクリックします。 +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## 許可 IP アドレスを削除する diff --git a/translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md b/translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md index f973191794..9466611747 100644 --- a/translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md +++ b/translations/ja-JP/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md @@ -20,7 +20,7 @@ shortTitle: Create HA replica ## High Availabilityレプリカの作成 1. 新しい {% data variables.product.prodname_ghe_server %} アプライアンスを希望するプラットフォームにセットアップします。 レプリカアプライアンスのCPU、RAM、ストレージ設定は、プライマリアプライアンスと同じにするべきです。 レプリカアプライアンスは、独立した環境にインストールすることをお勧めします。 下位層のハードウェア、ソフトウェア、ネットワークコンポーネントは、プライマリアプライアンスのそれらとは分離されているべきです。 クラウドプロバイダを利用している場合には、別個のリージョンもしくはゾーンを使ってください。 詳細は「["{% data variables.product.prodname_ghe_server %} インスタンスをセットアップする](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance)」を参照してください。 -1. Ensure that both the primary appliance and the new replica appliance can communicate with each other over ports 122/TCP and 1194/UDP. 詳しい情報については"[ネットワークポート](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)"を参照してください。 +1. Ensure that the new appliance can communicate with all other appliances in this high availability environment over ports 122/TCP and 1194/UDP. 詳しい情報については"[ネットワークポート](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)"を参照してください。 1. ブラウザで新しいレプリカアプライアンスのIPアドレスにアクセスして、所有する{% data variables.product.prodname_enterprise %}のライセンスをアップロードしてください。 {% data reusables.enterprise_installation.replica-steps %} 1. SSHを使ってレプリカアプライアンスのIPアドレスに接続してください。 diff --git a/translations/ja-JP/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/ja-JP/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md index 2bbd327b5a..b2a5d8490c 100644 --- a/translations/ja-JP/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md +++ b/translations/ja-JP/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -45,7 +45,7 @@ If you use a standalone organization with {% data variables.product.product_name ### Authentication with {% data variables.product.prodname_emus %} and federation -If you need more control of the accounts for your enterprise members on {% data variables.product.product_location %}, you can use {% data variables.product.prodname_emus %}. With {% data variables.product.prodname_emus %}, you provision and manage accounts for your enterprise members on {% data variables.product.product_location %} using your IdP. Each member signs into an account that you create, and your enterprise manages the account. Contributions to the rest of {% data variables.product.prodname_dotcom_the_website %} are restricted. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)." +If you need more control of the accounts for your enterprise members on {% data variables.product.product_location %}, you can use {% data variables.product.prodname_emus %}. With {% data variables.product.prodname_emus %}, you provision and manage accounts for your enterprise members on {% data variables.product.product_location %} using your IdP. Each member signs into an account that you create, and your enterprise manages the account. Contributions to the rest of {% data variables.product.prodname_dotcom_the_website %} are restricted. 詳しい情報については「[{% data variables.product.prodname_emus %}について](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)」を参照してください。 ## Identifying the best authentication method for your enterprise @@ -82,7 +82,11 @@ These restrictions are unacceptable for some enterprises. To determine whether { ### Do your developers rely on collaboration outside of your enterprise? -{% data variables.product.prodname_managed_users_caps %} can only contribute to repositories within your enterprise. If your developers need to collaborate in repositories outside your enterprise, even private repositories, to complete their work, {% data variables.product.prodname_emus %} may not be right for your enterprise, and SAML SSO may be a better solution. +{% data variables.product.prodname_managed_users_caps %} can only contribute to repositories within your enterprise. If your developers must contribute to both repositories within and outside of your enterprise, including private repositories, {% data variables.product.prodname_emus %} may not be right for your enterprise. SAML SSO may be a better solution. + +Some companies maintain repositories within an existing enterprise using SAML SSO on {% data variables.product.product_location %}, and also create an {% data variables.product.prodname_emu_enterprise %}. Developers who contribute to repositories owned by both enterprises from a single workstation must switch between the accounts on {% data variables.product.product_location %} within a single browser, or use a different browser for each account. The developer may also need to customize the workstation's Git configuration to accommodate the two accounts. The complexity of this workflow can increase the risk of mistakenly leaking internal code to the public. + +If you decide to create an {% data variables.product.prodname_emu_enterprise %} but require that developers contribute to resources outside of the enterprise from a single workstation, you can provide support for switching between the accounts in a developer's local Git configuration. 詳しい情報については「[{% data variables.product.prodname_emus %}について](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#supporting-developers-with-multiple-user-accounts-on-githubcom)」を参照してください。 ### Does your enterprise rely on outside collaborators? diff --git a/translations/ja-JP/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md b/translations/ja-JP/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md index 9e98bc2594..53dada8349 100644 --- a/translations/ja-JP/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md +++ b/translations/ja-JP/content/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/accessing-your-enterprise-account-if-your-identity-provider-is-unavailable.md @@ -15,7 +15,7 @@ permissions: Enterprise owners can use a recovery code to access an enterprise a You can use a recovery code to access your enterprise account when an authentication configuration error or an issue with your identity provider (IdP) prevents you from using SSO. -In order to access your enterprise account this way, you must have previously downloaded and stored the recovery codes for your enterprise. For more information, see "[Downloading your enterprise account's single sign-on recovery codes](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)." +In order to access your enterprise account this way, you must have previously downloaded and stored the recovery codes for your enterprise. 詳しい情報については「[Enterpriseアカウントのシングルサインオンリカバリコードのダウンロード](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)」を参照してください。 {% data reusables.saml.recovery-code-caveats %} diff --git a/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md index 4f6da52c8b..c39730012a 100644 --- a/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md +++ b/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -36,8 +36,6 @@ You can grant {% data variables.product.prodname_managed_users %} access to and The usernames of your enterprise's {% data variables.product.prodname_managed_users %} and their profile information, such as display names and email addresses, are set by through your IdP and cannot be changed by the users themselves. For more information, see "[Usernames and profile information](#usernames-and-profile-information)." -{% data reusables.enterprise-accounts.emu-forks %} - Enterprise owners can audit all of the {% data variables.product.prodname_managed_users %}' actions on {% data variables.product.prodname_dotcom %}. For more information, see "[Audit log events for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#about-audit-log-events-for-your-enterprise)." To use {% data variables.product.prodname_emus %}, you need a separate type of enterprise account with {% data variables.product.prodname_emus %} enabled. For more information about creating this account, see "[About enterprises with managed users](#about-enterprises-with-managed-users)." @@ -75,7 +73,8 @@ To use {% data variables.product.prodname_emus %}, you need a separate type of e * {% data variables.product.prodname_managed_users_caps %} cannot create gists or comment on gists. * {% data variables.product.prodname_managed_users_caps %} cannot install {% data variables.product.prodname_github_apps %} on their user accounts. * Other {% data variables.product.prodname_dotcom %} users cannot see, mention, or invite a {% data variables.product.prodname_managed_user %} to collaborate. -* {% data variables.product.prodname_managed_users_caps %} can only own private repositories and {% data variables.product.prodname_managed_users %} can only invite other enterprise members to collaborate on their owned repositories. +* You can choose whether {% data variables.product.prodname_managed_users %} are able to create repositories owned by their user accounts. 詳しい情報については、「[Enterprise でのリポジトリ管理ポリシーを適用する](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)」を参照してください。 +* If you allow {% data variables.product.prodname_managed_users %} to create repositories owned by their user accounts, they can only own private repositories and can only invite other enterprise members to collaborate on their user-owned repositories. * {% data reusables.enterprise-accounts.emu-forks %} * Only private and internal repositories can be created in organizations owned by an {% data variables.product.prodname_emu_enterprise %}, depending on organization and enterprise repository visibility settings. * {% data variables.product.prodname_managed_users_caps %} are limited in their use of {% data variables.product.prodname_pages %}. 詳しい情報については、「[{% data variables.product.prodname_pages %} について](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)」を参照してください。 @@ -113,6 +112,8 @@ Before your developers can use {% data variables.product.prodname_ghe_cloud %} w 5. Once authentication and provisioning are configured, you can start provisioning members and managing teams. For more information, see "[Managing team memberships with identity provider groups](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)." +If members of your enterprise must use one workstation to contribute to repositories on {% data variables.product.product_location %} from both a {% data variables.product.prodname_managed_user %} and a personal account, you can provide support. For more information, see "[Supporting developers with multiple user accounts on {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom)." + ## {% data variables.product.prodname_managed_user %} として認証を行う {% data variables.product.prodname_managed_users_caps %} must authenticate through their identity provider. To authenticate, a {% data variables.product.prodname_managed_user %} can visit their IdP application portal or use the login page on {% data variables.product.prodname_dotcom_the_website %}. @@ -132,3 +133,9 @@ Before your developers can use {% data variables.product.prodname_ghe_cloud %} w A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)." The profile name and email address of a {% data variables.product.prodname_managed_user %} is also provided by the IdP. {% data variables.product.prodname_managed_users_caps %} cannot change their profile name or email address on {% data variables.product.prodname_dotcom %}, and the IdP can only provide a single email address. + +## Supporting developers with multiple user accounts on {% data variables.product.product_location %} + +People on your team may need to contribute to resources on {% data variables.product.product_location %} that are outside of your {% data variables.product.prodname_emu_enterprise %}. For example, you may wish to maintain a separate enterprise for your company's open source projects. Because a {% data variables.product.prodname_managed_user %} cannot contribute to public resources, users will need to maintain a separate, personal account for this work. + +People who must contribute from two user accounts on {% data variables.product.product_location %} using one workstation can configure Git to simplify the process. For more information, see "[Managing multiple accounts](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)." diff --git a/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md index 567cf18724..fc6e984083 100644 --- a/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md +++ b/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -22,9 +22,11 @@ CAP support is enabled automatically for any {% data variables.product.prodname_ For more information about using OIDC with {% data variables.product.prodname_emus %}, see "[Configuring OIDC for Enterprise Managed Users](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)" and "[Migrating from SAML to OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)." -## About using CAP with IP allow lists +{% note %} -We recommend disabling your enterprise account's IP allow list and relying on your IdP's CAP. If you enable IP allow lists for your enterprise and also make use of your IdP's CAP, both the IP allow list and CAP will be enforced. If either restriction rejects a user's IP address, the request fails. For more information about IP allow lists, see "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)." +**Note:** If you use Conditional Access (CA) network location policies in your Azure AD tenant, do not use the IP allow list feature on {% data variables.product.prodname_dotcom_the_website %}, with your enterprise account or with any of the organizations owned by the enterprise. Using both is unsupported and can result in the wrong policy applying. For more information about IP allow lists, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." + +{% endnote %} ## Considerations for integrations and automations diff --git a/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md index 273f3e7263..c88833c1d5 100644 --- a/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md +++ b/translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -26,11 +26,12 @@ If you're new to {% data variables.product.prodname_emus %} and haven't yet conf {% note %} -**Note:** To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. For more information, see "[Downloading your enterprise account's single sign-on recovery codes](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)." +**Note:** To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. 詳しい情報については「[Enterpriseアカウントのシングルサインオンリカバリコードのダウンロード](/admin/identity-and-access-management/managing-recovery-codes-for-your-enterprise/downloading-your-enterprise-accounts-single-sign-on-recovery-codes)」を参照してください。 {% endnote %} 1. Before you begin the migration, sign in to Azure and disable provisioning in the existing {% data variables.product.prodname_emu_idp_application %} application. +1. If you use [Conditional Access (CA) network location policies](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) in Azure AD, and you're currently using an IP allow list with your enterprise account or any of the organizations owned by the enterprise account on {% data variables.product.prodname_dotcom_the_website %}, disable the IP allow lists. For more information, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." 1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your enterprise with the username **@SHORT-CODE_admin**. 1. When prompted to continue to your identity provider, click **Use a recovery code** and sign in using one of your enterprise's recovery codes. {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index 753fcca38a..d17cfa8c89 100644 --- a/translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -77,7 +77,7 @@ The following SAML attributes are available for {% data variables.product.produc | Name | Required? | Description | | :- | :- | :- | -| `NameID` | Yes | A persistent user identifier. Any persistent name identifier format may be used. {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)." | +| `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. | diff --git a/translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md index 82ae28f7a5..f548ac98b4 100644 --- a/translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md +++ b/translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -44,7 +44,8 @@ You set up the audit log stream on {% data variables.product.product_name %} by - [Amazon S3](#setting-up-streaming-to-amazon-s3) - [Azure Blob Storage](#setting-up-streaming-to-azure-blob-storage) -- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs) +- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs){% ifversion streaming-datadog %} +- [Datadog](#setting-up-streaming-to-datadog){% endif %} - [Google Cloud Storage](#setting-up-streaming-to-google-cloud-storage) - [Splunk](#setting-up-streaming-to-splunk) @@ -60,7 +61,7 @@ You can set up streaming to S3 with access keys or, to avoid storing long-lived #### Setting up streaming to S3 with access keys {% endif %} -To stream audit logs to Amazon's S3 endpoint, you must have a bucket and access keys. For more information, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the the AWS documentation. Make sure to block public access to the bucket to protect your audit log information. +To stream audit logs to Amazon's S3 endpoint, you must have a bucket and access keys. For more information, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the AWS documentation. Make sure to block public access to the bucket to protect your audit log information. To set up audit log streaming from {% data variables.product.prodname_dotcom %} you will need: * The name of your Amazon S3 bucket @@ -231,6 +232,32 @@ You need two pieces of information about your event hub: its instance name and t {% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +{% ifversion streaming-datadog %} +### Setting up streaming to Datadog + +To set up streaming to Datadog, you must create a client token or an API key in Datadog, then configure audit log streaming in {% data variables.product.product_name %} using the token for authentication. You do not need to create a bucket or other storage container in Datadog. + +After you set up streaming to Datadog, you can see your audit log data by filtering by "github.audit.streaming." For more information, see [Log Management](https://docs.datadoghq.com/logs/). + +1. If you don't already have a Datadog account, create one. +1. In Datadog, generate a client token or an API key, then click **Copy key**. For more information, see [API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) in Datadog Docs. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the **Configure stream** dropdown menu and click **Datadog**. + + ![Screenshot of the "Configure stream" dropdown menu with "Datadog" highlighted](/assets/images/help/enterprises/audit-stream-choice-datadog.png) +1. Under "Token", paste the token you copied earlier. + + ![Screenshot of the "Token" field](/assets/images/help/enterprises/audit-stream-datadog-token.png) +1. Select the "Site" dropdown menu and click your Datadog site. To determine your Datadog site, compare your Datadog URL to the table in [Datadog sites](https://docs.datadoghq.com/getting_started/site/) in Datadog Docs. + + ![Screenshot of the "Site" dropdown menu](/assets/images/help/enterprises/audit-stream-datadog-site.png) +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Datadog endpoint, click **Check endpoint**. + + ![エンドポイントのチェック](/assets/images/help/enterprises/audit-stream-check.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +1. After a few minutes, confirm that audit log data is appearing on the **Logs** tab in Datadog. If audit log data is not appearing, confirm that your token and site are correct in {% data variables.product.prodname_dotcom %}. +{% endif %} + ### Setting up streaming to Google Cloud Storage To set up streaming to Google Cloud Storage, you must create a service account in Google Cloud with the appropriate credentials and permissions, then configure audit log streaming in {% data variables.product.product_name %} using the service account's credentials for authentication. @@ -291,6 +318,10 @@ To stream audit logs to Splunk's HTTP Event Collector (HEC) endpoint you must ma Pausing the stream allows you to perform maintenance on the receiving application without losing audit data. Audit logs are stored for up to seven days on {% data variables.product.product_location %} and are then exported when you unpause the stream. +{% ifversion streaming-datadog %} +Datadog only accepts logs from up to 18 hours in the past. If you pause a stream to a Datadog endpoint for more than 18 hours, you risk losing logs that Datadog won't accept after you resume streaming. +{% endif %} + {% data reusables.enterprise.navigate-to-log-streaming-tab %} 1. Click **Pause stream**. diff --git a/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index 423c60d41d..c6c4391149 100644 --- a/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -77,12 +77,17 @@ Enterprise owners can restrict access to private assets owned by organizations i ### 許可 IP アドレスを追加する +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ### {% data variables.product.prodname_github_apps %}によるアクセスの許可 @@ -90,6 +95,8 @@ Enterprise owners can restrict access to private assets owned by organizations i ### 許可 IP アドレスを有効化する +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -98,6 +105,8 @@ Enterprise owners can restrict access to private assets owned by organizations i ### 許可 IP アドレスを編集する +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -105,6 +114,18 @@ Enterprise owners can restrict access to private assets owned by organizations i {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. [**Update**] をクリックします。 +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +### Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ### 許可 IP アドレスを削除する @@ -124,13 +145,13 @@ Enterprise owners can restrict access to private assets owned by organizations i ## Managing SSH certificate authorities for your enterprise -You can use a SSH certificate authorities (CA) to allow members of any organization owned by your enterprise to access that organization's repositories using SSH certificates you provide. {% data reusables.organizations.can-require-ssh-cert %}詳しい情報については、「[SSS 認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)」を参照してください。 +You can use a SSH certificate authorities (CA) to allow members of any organization owned by your enterprise to access that organization's repositories using SSH certificates you provide. {% data reusables.organizations.can-require-ssh-cert %}詳細については、「[SSH認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)」を参照してください。 {% data reusables.organizations.add-extension-to-cert %} ### SSH 認証局を追加する -If you require SSH certificates for your enterprise, enterprise members should use a special URL for Git operations over SSH. 詳しい情報については、「[SSH 認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#about-ssh-urls-with-ssh-certificates)」を参照してください。 +EnterpriseでSSH証明書が必要な場合、EnterpriseのメンバーはSSH経由のGitの操作に特別なURLを使わなければなりません。 詳しい情報については、「[SSH 認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#about-ssh-urls-with-ssh-certificates)」を参照してください。 {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} diff --git a/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 65a9d2af70..91be9722aa 100644 --- a/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/translations/ja-JP/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -71,24 +71,28 @@ Enterprise オーナーがメンバーによる特定のタイプのリポジト {% endif %} -## Enforcing a policy for {% ifversion ghec or ghes or ghae %}base{% else %}default{% endif %} repository permissions +## Enforcing a policy for base repository permissions -Across all organizations owned by your enterprise, you can set a {% ifversion ghec or ghes or ghae %}base{% else %}default{% endif %} repository permission level (none, read, write, or admin) for organization members, or allow owners to administer the setting on the organization level. +Across all organizations owned by your enterprise, you can set a base repository permission level (none, read, write, or admin) for organization members, or allow owners to administer the setting on the organization level. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -4. Under "{% ifversion ghec or ghes or ghae %}Base{% else %}Default{% endif %} permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -5. Under "{% ifversion ghec or ghes or ghae %}Base{% else %}Default{% endif %} permissions", use the drop-down menu and choose a policy. - {% ifversion ghec or ghes or ghae %} - ![リポジトリ権限ポリシーオプションのドロップダウンメニュー](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) - {% else %} - ![リポジトリ権限ポリシーオプションのドロップダウンメニュー](/assets/images/enterprise/business-accounts/repository-permissions-policy-drop-down.png) - {% endif %} +4. Under "Base permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. Under "Base permissions", use the drop-down menu and choose a policy. ![リポジトリ権限ポリシーオプションのドロップダウンメニュー](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + ## Enforcing a policy for repository creation -Across all organizations owned by your enterprise, you can allow members to create repositories, restrict repository creation to organization owners, or allow owners to administer the setting on the organization level. メンバーにリポジトリの作成を許可する場合は、パブリック、プライベート、内部の各リポジトリをどう組み合わせて作成するかを任意に選択できます。 {% data reusables.repositories.internal-repo-default %} 詳しい情報については「[内部リポジトリを作成する](/articles/creating-an-internal-repository)」を参照してください。 +Across all organizations owned by your enterprise, you can allow members to create repositories, restrict repository creation to organization owners, or allow owners to administer the setting on the organization level. + +If you allow members to create repositories in your organizations, you can choose which types of repositories (public, private, and internal) that members can create. + +{% ifversion enterprise-namespace-repo-setting %} +{% ifversion ghec %}If your enterprise uses {% data variables.product.prodname_emus %}, you{% else %}You{% endif %} can also prevent users from creating repositories owned by their user accounts. +{% endif %} + +{% data reusables.repositories.internal-repo-default %} 詳しい情報については「[内部リポジトリを作成する](/articles/creating-an-internal-repository)」を参照してください。 {% data reusables.organizations.repo-creation-constants %} @@ -96,33 +100,32 @@ Across all organizations owned by your enterprise, you can allow members to crea {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. [Repository creation] で、設定変更に関する情報を読みます。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% ifversion ghes or ghae or ghec %} {% data reusables.enterprise-accounts.repo-creation-policy %} -{% data reusables.enterprise-accounts.repo-creation-types %} -{% else %} -6. [Repository creation(リポジトリの作成)] で、ドロップダウンメニューを使用してポリシーを選択します。 - - ![リポジトリ作成ポリシーのドロップダウンメニュー](/assets/images/enterprise/site-admin-settings/repository-creation-drop-down.png) -{% endif %} +{% data reusables.enterprise-accounts.repo-creation-types %}{% ifversion enterprise-namespace-repo-setting %} +1. Optionally, {% ifversion ghec %}if your enterprise uses {% data variables.product.prodname_emus %} and you want {% endif %}to prevent enterprise members from creating repositories owned by their user accounts, select **Block the creation of user namespace repositories**. ![Screenshot showing the list of disabled options from forking policy](/assets/images/help/business-accounts/restrict-personal-namespace-enabled-setting.png){% endif %} ## Enforcing a policy for forking private or internal repositories Enterprise が所有しているすべての Organization 全体で、ユーザーにリポジトリのフォーク用にプライベートまたは内部リポジトリへのアクセスを許可したり、プライベートまたは内部リポジトリのフォークを一切禁止したり、オーナーが Organization レベルで設定を管理できるようにしたりすることができます。 +{% ifversion enterprise-namespace-repo-setting %} +{% note %} + +**Note:** If {% ifversion ghec %}your enterprise uses {% data variables.product.prodname_emus %} and {% endif %}your "Repository creation" policy prevents enterprise members from creating repositories owned by their user accounts, members will not be allowed to fork a repository in their user accounts, regardless of your "Repository forking" policy. + +{% endnote %} +{% endif %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 3. Under "Repository forking", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} 4. [Repository forking] で、ドロップダウンメニューを使用してポリシーを選択します。 - ![リポジトリ フォーク ポリシー オプションのドロップダウンメニュー](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png) - -{% ifversion innersource-fork-policies %} + ![リポジトリ フォーク ポリシー オプションのドロップダウンメニュー](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} 5. If forking is enabled, you can specify where users are allowed to fork repositories. Review the information about changing the setting and choose a policy. - ![Screenshot showing the list of repository forking policy options](/assets/images/help/business-accounts/repository-forking-policy-settings.png) -{% endif %} - + ![Screenshot showing the list of repository forking policy options](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} ## Enforcing a policy for inviting{% ifversion ghec %} outside{% endif %} collaborators to repositories @@ -140,8 +143,6 @@ Across all organizations owned by your enterprise, you can allow members to invi ![Drop-down menu with invitation policy options](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) {% endif %} -{% ifversion ghec or ghes or ghae %} - ## Enforcing a policy for the default branch name Across all organizations owned by your enterprise, you can set the default branch name for any new repositories that members create. すべての Organization 全体でそのデフォルトブランチ名を施行することも、Organization ごとに異なる名前を設定することもできます。 @@ -152,8 +153,6 @@ Across all organizations owned by your enterprise, you can set the default branc 4. オプションで、Enterprise のすべての Organization に対してデフォルトブランチ名を施行する場合は [**Enforce across this enterprise**] を選択します。 ![[Enforcement] チェックボックス](/assets/images/help/business-accounts/default-branch-name-enforce.png) 5. [**Update**] をクリックします。 ![[Update] ボタン](/assets/images/help/business-accounts/default-branch-name-update.png) -{% endif %} - ## Enforcing a policy for changes to repository visibility Across all organizations owned by your enterprise, you can allow members with admin access to change a repository's visibility, restrict repository visibility changes to organization owners, or allow owners to administer the setting on the organization level. メンバーがリポジトリの可視性を変更できないようにした場合、Enterprise のオーナーのみがリポジトリの可視性を変更できます。 @@ -163,9 +162,8 @@ Enterprise のオーナーがリポジトリの作成を Organization のオー {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -5. [Repository visibility change] で、設定変更についての情報を確認します。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} - -{% data reusables.enterprise-accounts.repository-visibility-policy %} +1. [Repository visibility change] で、設定変更についての情報を確認します。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. "Repository visibility change(リポジトリの可視性の変更)"の下で、ドロップダウンメニューを使ってポリシーを選択してください。 ![リポジトリの可視性のポリシーの選択肢があるドロップダウンメニュー](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) ## Enforcing a policy for repository deletion and transfer diff --git a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md index 5293b50d56..acd9b5e15c 100644 --- a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -1,6 +1,6 @@ --- title: SSH について -intro: 'SSH プロトコルを利用すれば、リモートのサーバーやサービスに接続し、認証を受けられます。 SSH キーを使用すると、アクセスのたびにユーザ名と個人アクセストークンを入力することなく {% data variables.product.product_name %} に接続できます。' +intro: 'SSH プロトコルを利用すれば、リモートのサーバーやサービスに接続し、認証を受けられます。 With SSH keys, you can connect to {% data variables.product.product_name %} without supplying your username and personal access token at each visit.{% ifversion ssh-commit-verification %} You can also use an SSH key to sign commits.{% endif %}' redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh @@ -16,7 +16,7 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)" and "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. 詳しい情報については[SSH キーのパスフレーズを使う](/github/authenticating-to-github/working-with-ssh-key-passphrases)を参照してください。 @@ -33,7 +33,6 @@ Organizations that use {% data variables.product.prodname_ghe_cloud %} can provi {% else ghec or ghes or ghae %} If you're a member of an organization that provides SSH certificates, you can use your certificate to access that organization's repositories without adding the certificate to your account on {% data variables.product.product_name %}. You cannot use your certificate to access forks of the organization's repositories, if the forks is owned by your personal account. 詳しい情報については「[SSH認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)」を参照してください。 {% endif %} - ## 参考リンク - [SSH のトラブルシューティング](/articles/troubleshooting-ssh) diff --git a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index 06825e0163..36719a9de4 100644 --- a/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/translations/ja-JP/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -19,6 +19,8 @@ shortTitle: Add a new SSH key {% data reusables.ssh.about-ssh %} For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)." +{% ifversion ssh-commit-verification %}You can also use SSH to sign commits and tags. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)."{% endif %} + After you generate an SSH key pair, you must add the public key to {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable SSH access for your account. ## 必要な環境 @@ -30,111 +32,45 @@ Before adding a new SSH key to your account on {% ifversion ghae %}{% data varia ## Adding a new SSH key to your account -After adding a new SSH key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. 詳しい情報については[リモート URL の HTTPS から SSH への切り替え](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)を参照してください。 +After adding a new SSH authentication key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. 詳しい情報については[リモート URL の HTTPS から SSH への切り替え](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)を参照してください。 {% data reusables.ssh.key-type-support %} -{% mac %} - {% webui %} -1. SSH 公開鍵をクリップボードにコピーします。 - - SSH 公開鍵のファイル名がサンプルコードと異なる場合は、現在の設定に一致するようにファイル名を変更してください。 キーをコピーする際には、改行や空白を追加しないでください。 - - ```shell - $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **ヒント:** `pbcopy` がうまく動作しない場合は、隠れフォルダ `.ssh` にアクセスし、使い慣れたテキストエディタでこのファイルを開き、クリップボードにコピーしてください。 - - {% endtip %} - +{% data reusables.gpg.copy-ssh-public-key %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.ssh %} -4. [**New SSH key**] または [**Add SSH key**] をクリックします。 ![SSH キーボタン](/assets/images/help/settings/ssh-add-ssh-key.png) -5. [Title] フィールドで、新しいキーを説明するラベルを追加します。 たとえば、個人のMacを使っているなら、このキーを「Personal MacBook Air」とすることができるでしょう。 -6. キーを [Key] フィールドに貼り付けます。 ![キーフィールド](/assets/images/help/settings/ssh-key-paste.png) -7. **[Add SSH key]** をクリックしてください。 ![キーの追加ボタン](/assets/images/help/settings/ssh-add-key.png) +4. [**New SSH key**] または [**Add SSH key**] をクリックします。 +{% ifversion ssh-commit-verification %} + ![SSH キーボタン](/assets/images/help/settings/ssh-add-ssh-key-with-auth.png) +{% else %} + ![SSH キーボタン](/assets/images/help/settings/ssh-add-ssh-key.png) +{% endif %} +5. [Title] フィールドで、新しいキーを説明するラベルを追加します。 For example, if you're using a personal laptop, you might call this key "Personal laptop". +{% ifversion ssh-commit-verification %} +6. Select the type of key, either authentication or signing. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)." +{% endif %} +7. キーを [Key] フィールドに貼り付けます。 +{% ifversion ssh-commit-verification %} + ![キーフィールド](/assets/images/help/settings/ssh-key-paste-with-type.png) +{% else %} + ![キーフィールド](/assets/images/help/settings/ssh-key-paste.png) +{% endif %} +8. **[Add SSH key]** をクリックしてください。 ![キーの追加ボタン](/assets/images/help/settings/ssh-add-key.png) {% data reusables.user-settings.sudo-mode-popup %} {% endwebui %} -{% endmac %} - -{% windows %} - -{% webui %} - -1. SSH 公開鍵をクリップボードにコピーします。 - - SSH 公開鍵のファイル名がサンプルコードと異なる場合は、現在の設定に一致するようにファイル名を変更してください。 キーをコピーする際には、改行や空白を追加しないでください。 - - ```shell - $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **ヒント:** `clip` がうまく動作しない場合は、隠しフォルダ `.ssh` にアクセスし、使い慣れたテキストエディタでこのファイルを開き、クリップボードにコピーしてください。 - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. [**New SSH key**] または [**Add SSH key**] をクリックします。 ![SSH キーボタン](/assets/images/help/settings/ssh-add-ssh-key.png) -5. [Title] フィールドで、新しいキーを説明するラベルを追加します。 たとえば、個人のMacを使っているなら、このキーを「Personal MacBook Air」とすることができるでしょう。 -6. キーを [Key] フィールドに貼り付けます。 ![キーフィールド](/assets/images/help/settings/ssh-key-paste.png) -7. **[Add SSH key]** をクリックしてください。 ![キーの追加ボタン](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endwindows %} - -{% linux %} - -{% webui %} - -1. SSH 公開鍵をクリップボードにコピーします。 - - SSH 公開鍵のファイル名がサンプルコードと異なる場合は、現在の設定に一致するようにファイル名を変更してください。 キーをコピーする際には、改行や空白を追加しないでください。 - - ```shell - $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file - # displayed in the terminal to your clipboard - ``` - - {% tip %} - - **Tip:** Alternatively, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. [**New SSH key**] または [**Add SSH key**] をクリックします。 ![SSH キーボタン](/assets/images/help/settings/ssh-add-ssh-key.png) -5. [Title] フィールドで、新しいキーを説明するラベルを追加します。 たとえば、個人のMacを使っているなら、このキーを「Personal MacBook Air」とすることができるでしょう。 -6. キーを [Key] フィールドに貼り付けます。 ![キーフィールド](/assets/images/help/settings/ssh-key-paste.png) -7. **[Add SSH key]** をクリックしてください。 ![キーの追加ボタン](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endlinux %} - {% cli %} {% data reusables.cli.cli-learn-more %} Before you can use the {% data variables.product.prodname_cli %} to add an SSH key to your account, you must authenticate to the {% data variables.product.prodname_cli %}. For more information, see [`gh auth login`](https://cli.github.com/manual/gh_auth_login) in the {% data variables.product.prodname_cli %} documentation. -To add an SSH key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. +{% ifversion ssh-commit-verification %}At present, you can only use {% data variables.product.prodname_cli %} to add SSH authentication keys, you cannot add SSH signing keys.{% endif %} + +To add an SSH authentication key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. ```shell gh ssh-key add key-file diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index adb05a61f9..c53ee9bac6 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -1,6 +1,6 @@ --- -title: About commit signature verification -intro: 'Using GPG or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.' +title: コミット署名の検証について +intro: 'Using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME, you can sign tags and commits locally. これらのタグやコミットは {% data variables.product.product_name %} で検証済みとしてマークされているため、他のユーザはその変更が信頼できるソースからのものであると確信できます。' redirect_from: - /articles/about-gpg-commit-and-tag-signatures - /articles/about-gpg @@ -17,11 +17,20 @@ topics: - Access management shortTitle: Commit signature verification --- -## About commit signature verification -You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} +## コミット署名の検証について -![Verified commit](/assets/images/help/commits/verified-commit.png) +コミットとタグにローカルで署名して、行った変更の根拠を他のユーザに信頼してもらうことができます。 If a commit or tag has a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} + +![検証されたコミット](/assets/images/help/commits/verified-commit.png) + +{% ifversion ghes or ghae %} +If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." +{% endif %} + +{% ifversion ssh-commit-verification %} +For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. {% data variables.product.product_name %} shows commits that were signed with such a key as "Verified" unless the key was marked as compromised. SSH keys don't have this capability. +{% endif %} {% ifversion fpt or ghec %} Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." @@ -30,27 +39,26 @@ Commits and tags have the following verification statuses, depending on whether Signing commits differs from signing off on a commit. For more information about signing off on commits, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." -### Default statuses +### デフォルトのステータス -| Status | Description | -| -------------- | ----------- | -| **Verified** | The commit is signed and the signature was successfully verified. -| **Unverified** | The commit is signed but the signature could not be verified. -| No verification status | The commit is not signed. +| 状況 | 説明 | +| ---------------------- | ----------------------------- | +| **Verified** | コミットが署名され、署名が正常に検証されました。 | +| **Unverified** | コミットは署名されていますが、署名を検証できませんでした。 | +| No verification status | コミットが署名されていません。 | ### Signature verification for rebase and merge {% data reusables.pull_requests.rebase_and_merge_verification %} For more information, see "[Rebasing and merging your commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)." -### Statuses with vigilant mode enabled +### 警戒モードが有効になっているステータス {% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} -{% else %} -If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." {% endif %} + Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)." {% data reusables.identity-and-permissions.verification-status-check %} @@ -59,10 +67,10 @@ Repository administrators can enforce required commit signing on a branch to blo {% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.product_name %} will have a verified status. You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." {% else %}{% data variables.product.prodname_dotcom %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.prodname_dotcom %} will have a verified status. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. -You can optionally choose to have {% data variables.product.prodname_dotcom %} sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} +You can optionally choose to have {% data variables.product.prodname_dotcom %} GPG sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} {% endif %} -## GPG commit signature verification +## GPG コミット署名の検証 You can use GPG to sign commits with a GPG key that you generate yourself. @@ -70,13 +78,32 @@ You can use GPG to sign commits with a GPG key that you generate yourself. To sign commits using GPG and have those commits verified on {% data variables.product.product_name %}, follow these steps: -1. [Check for existing GPG keys](/articles/checking-for-existing-gpg-keys) -2. [Generate a new GPG key](/articles/generating-a-new-gpg-key) +1. [既存の GPG キーがあるかチェックする](/articles/checking-for-existing-gpg-keys) +2. [新しい GPG キーを生成する](/articles/generating-a-new-gpg-key) 3. [Add a GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account) -4. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) -5. [Sign commits](/articles/signing-commits) -6. [Sign tags](/articles/signing-tags) +4. [Git へ署名キーを伝える](/articles/telling-git-about-your-signing-key) +5. [コミットに署名する](/articles/signing-commits) +6. [タグに署名する](/articles/signing-tags) +{% ifversion ssh-commit-verification %} +## SSH commit signature verification + +You can use SSH to sign commits with an SSH public key that you generate yourself. If you already use an SSH key to authenticate with {% data variables.product.product_name %}, you can also upload that same key again for use as a signing key. There's no limit on the number of signing keys you can add to your account. + +{% data variables.product.product_name %} uses [ssh_data](https://github.com/github/ssh_data), an open source Ruby library, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. + +{% data reusables.gpg.ssh-git-version %} + +To sign commits using SSH and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing SSH keys](/articles/checking-for-existing-ssh-keys) +2. [Generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +3. [Add a SSH signing key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) +4. [Git へ署名キーを伝える](/articles/telling-git-about-your-signing-key) +5. [コミットに署名する](/articles/signing-commits) +6. [タグに署名する](/articles/signing-tags) + +{% endif %} ## S/MIME commit signature verification You can use S/MIME to sign commits with an X.509 key issued by your organization. @@ -87,9 +114,9 @@ You can use S/MIME to sign commits with an X.509 key issued by your organization To sign commits using S/MIME and have those commits verified on {% data variables.product.product_name %}, follow these steps: -1. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) -2. [Sign commits](/articles/signing-commits) -3. [Sign tags](/articles/signing-tags) +1. [Git へ署名キーを伝える](/articles/telling-git-about-your-signing-key) +2. [コミットに署名する](/articles/signing-commits) +3. [タグに署名する](/articles/signing-tags) You don't need to upload your public key to {% data variables.product.product_name %}. @@ -101,8 +128,8 @@ Organizations and {% data variables.product.prodname_github_apps %} that require Signature verification for bots will only work if the request is verified and authenticated as the {% data variables.product.prodname_github_app %} or bot and contains no custom author information, custom committer information, and no custom signature information, such as Commits API. {% endif %} -## Further reading +## 参考リンク -- "[Signing commits](/articles/signing-commits)" -- "[Signing tags](/articles/signing-tags)" -- "[Troubleshooting commit signature verification](/articles/troubleshooting-commit-signature-verification)" +- 「[コミットに署名する](/articles/signing-commits)」 +- 「[タグに署名する](/articles/signing-tags)」 +- 「[コミット署名検証のトラブルシューティング](/articles/troubleshooting-commit-signature-verification)」 diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index cfdecad083..83aa2c0f2f 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -19,7 +19,7 @@ redirect_from: コンピューターでローカルで作業する場合、Git を使用すると、変更の作者とコミッターのアイデンティティを設定できます。 これにより、他のユーザが、自分が作成したコミットとタグが実際に自分によって作成されたものであると確信することが困難になる可能性があります。 この問題を解決するため、コミットとタグに署名することができます。 詳しい情報については、「[コミットに署名する](/github/authenticating-to-github/signing-commits)」および「[タグに署名する](/github/authenticating-to-github/signing-tags)」を参照してください。 {% data variables.product.prodname_dotcom %} は、署名されたコミットとタグに検証ステータスのマークを付けます。 -デフォルトでは、コミットとタグは、正常に検証された GPG または S/MIME キーで署名されている場合、「検証済み」としてマークされます。 If a commit or tag has a signature that can't be verified by {% data variables.product.prodname_dotcom %}, we mark the commit or tag "Unverified." それ以外の場合、検証ステータスは表示されません。 +By default commits and tags are marked "Verified" if they are signed with a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME key that was successfully verified. If a commit or tag has a signature that can't be verified by {% data variables.product.prodname_dotcom %}, we mark the commit or tag "Unverified." それ以外の場合、検証ステータスは表示されません。 ただし、{% data variables.product.prodname_dotcom %} 設定で警戒モードを有効にすることで、他のユーザにコミットとタグに起因するアイデンティティの信頼性を高めることができます。 警戒モードを有効にすると、すべてのコミットとタグに 3 つの検証ステータスのいずれかがマークされます。 diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md index ca5cd18d90..a51f2ff18b 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -29,11 +29,11 @@ topics: {% data reusables.command_line.open_the_multi_os_terminal %} 3. GPG キーペアを生成します。 GPG には複数のバージョンがあるため、関連する [_man ページ_](https://en.wikipedia.org/wiki/Man_page)を参考にして適切なキーの生成コマンドを見つける必要があります。 キーには RSA を使用する必要があります。 - バージョン 2.1.17 以降の場合は、以下のテキストを貼り付けて GPG キーペアを生成します。 - ```shell + ```shell{:copy} $ gpg --full-generate-key ``` - バージョン 2.1.17 およびそれ以降でない場合は、 `gpg --full-generate-key` コマンドが使えません。 以下のテキストを貼り付けてステップ 6 に進んでください。 - ```shell + ```shell{:copy} $ gpg --default-new-key-algo rsa4096 --gen-key ``` 4. At the prompt, specify the kind of key you want, or press `Enter` to accept the default. @@ -52,10 +52,10 @@ topics: {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} 10. 以下のテキストを貼り付けます。GPG キー ID は実際に使用するものを入力してください。 この例では、GPG キー ID は `3AA5C34371567BD2` です。 - ```shell - $ gpg --armor --export 3AA5C34371567BD2 - # ASCII armor 形式で GPG キーを出力する - ``` + ```shell{:copy} + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` 11. `-----BEGIN PGP PUBLIC KEY BLOCK-----` で始まり、`-----END PGP PUBLIC KEY BLOCK-----` で終わる GPG キーをコピーします。 12. [GPG キーを GitHub アカウントに追加](/articles/adding-a-gpg-key-to-your-github-account)します。 diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/index.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/index.md index 03daae58a2..8a80a00e46 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/index.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/index.md @@ -1,6 +1,6 @@ --- title: コミット署名の検証を管理する -intro: 'GPG または S/MIME を使用してローカルで作業に署名できます。 信頼できるソースによるコミットであることを他のユーザに知らせるために、{% data variables.product.product_name %} はこの署名を検証します。{% ifversion fpt %} {% data variables.product.product_name %} は、{% data variables.product.product_name %} Web インターフェイスを使用して自動的にコミットに署名します。{% endif %}' +intro: '{% data variables.product.product_name %} will verify GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signatures so other people will know that your commits come from a trusted source.{% ifversion fpt %} {% data variables.product.product_name %} will automatically sign commits you make using the {% data variables.product.product_name %} web interface.{% endif %}' redirect_from: - /articles/generating-a-gpg-key - /articles/signing-commits-with-gpg diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-commits.md index f945c1976e..d1a77b6bed 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-commits.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -1,6 +1,6 @@ --- title: コミットに署名する -intro: GPG または S/MIME を使用してローカルでコミットに署名できます。 +intro: 'You can sign commits locally using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME.' redirect_from: - /articles/signing-commits-and-tags-using-gpg - /articles/signing-commits-using-gpg @@ -52,9 +52,5 @@ Git バージョン 2.0.0 以降で、ローカルリポジトリでデフォル ## 参考リンク -* [既存の GPG キーのチェック](/articles/checking-for-existing-gpg-keys) -* [新しい GPG キーの生成](/articles/generating-a-new-gpg-key) -* "[Adding a GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account)" * 「[Git へ署名キーを伝える](/articles/telling-git-about-your-signing-key)」 -* [GPG キーとメールの関連付け](/articles/associating-an-email-with-your-gpg-key) * 「[タグに署名する](/articles/signing-tags)」 diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-tags.md index 3dc0060ec7..c1d8787ab7 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-tags.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -1,6 +1,6 @@ --- title: タグに署名する -intro: GPG または S/MIME を使用してローカルでタグに署名できます。 +intro: 'You can sign tags locally using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME.' redirect_from: - /articles/signing-tags-using-gpg - /articles/signing-tags @@ -32,9 +32,6 @@ topics: ## 参考リンク - [リポジトリのタグを表示する](/articles/viewing-your-repositorys-tags) -- [既存の GPG キーのチェック](/articles/checking-for-existing-gpg-keys) -- [新しい GPG キーの生成](/articles/generating-a-new-gpg-key) -- "[Adding a GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account)" - 「[Git へ署名キーを伝える](/articles/telling-git-about-your-signing-key)」 - [GPG キーとメールの関連付け](/articles/associating-an-email-with-your-gpg-key) - 「[コミットに署名する](/articles/signing-commits)」 diff --git a/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index b801c5a1df..9b0a093038 100644 --- a/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/ja-JP/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -1,6 +1,6 @@ --- title: Git へ署名キーを伝える -intro: ローカルでコミットに署名するには、使用する GPG または X.509 キーがあることを Git に知らせる必要があります。 +intro: 'To sign commits locally, you need to inform Git that there''s a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or X.509 key you''d like to use.' redirect_from: - /articles/telling-git-about-your-gpg-key - /articles/telling-git-about-your-signing-key @@ -52,8 +52,6 @@ If you're using a GPG key that matches your committer identity and your verified $ killall gpg-agent ``` -{% data reusables.gpg.x-509-key %} - {% endmac %} {% windows %} @@ -75,8 +73,6 @@ If you're using a GPG key that matches your committer identity and your verified {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} -{% data reusables.gpg.x-509-key %} - {% endwindows %} {% linux %} @@ -101,15 +97,25 @@ If you're using a GPG key that matches your committer identity and your verified ```bash $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc ``` - {% endlinux %} +{% ifversion ssh-commit-verification %} +## Telling Git about your SSH key + +You can use an existing SSH key to sign commits and tags, or generate a new one specifically for signing. 詳しい情報については、「[新しい SSH キーを生成して ssh-agent に追加する](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)」を参照してください。 + +{% data reusables.gpg.ssh-git-version %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.configure-ssh-signing %} +{% data reusables.gpg.copy-ssh-public-key %} +{% data reusables.gpg.paste-ssh-public-key %} + +{% endif %} + +{% data reusables.gpg.x-509-key %} ## 参考リンク -- [既存の GPG キーのチェック](/articles/checking-for-existing-gpg-keys) -- [新しい GPG キーの生成](/articles/generating-a-new-gpg-key) -- [GPG キーで検証済みのメールアドレスを使う](/articles/using-a-verified-email-address-in-your-gpg-key) -- "[Adding a GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account)" -- [GPG キーとメールの関連付け](/articles/associating-an-email-with-your-gpg-key) +- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." - 「[コミットに署名する](/articles/signing-commits)」 - 「[タグに署名する](/articles/signing-tags)」 diff --git a/translations/ja-JP/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/ja-JP/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index 10c0e66819..a54630c5bc 100644 --- a/translations/ja-JP/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/translations/ja-JP/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -22,7 +22,10 @@ shortTitle: Check verification status 1. {% data variables.product.product_name %}上で、プルリクエストに移動します。 {% data reusables.repositories.review-pr-commits %} 3. コミットの省略されたコミットハッシュの横に、コミット署名が検証済みか{% ifversion fpt or ghec %}、部分的に検証済みか、{% endif %}未検証かを示すボックスがあります。 ![署名されたコミット](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. コミットシグニチャの詳細情報を表示するには、[**検証済み**]{% ifversion fpt or ghec %}、[**部分的に検証済み**]、{% endif %}または [**未検証**] をクリックします。 ![検証された署名済みコミット](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +4. コミットシグニチャの詳細情報を表示するには、[**検証済み**]{% ifversion fpt or ghec %}、[**部分的に検証済み**]、{% endif %}または [**未検証**] をクリックします。 GPG signed commits will show the ID of the key that was used. ![Verified GPG signed commit](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +{% ifversion ssh-commit-verification %} + SSH signed commits will show the signature of the public key that was used. ![Verified SSH signed commit](/assets/images/help/commits/ssh-signed-commit-verified-details.png) +{% endif %} ## タグの署名検証のステータスの確認 diff --git a/translations/ja-JP/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/ja-JP/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index e7fb70174a..81683b18f8 100644 --- a/translations/ja-JP/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/translations/ja-JP/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -49,9 +49,9 @@ All data transferred out, when triggered by {% data variables.product.prodname_a Storage usage is shared with build artifacts produced by {% data variables.product.prodname_actions %} for repositories owned by your account. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." -{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.25 USD per GB of storage per day and $0.50 USD per GB of data transfer. +{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and $0.50 USD per GB of data transfer. -For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would have overages of 148GB for storage and 40GB for data transfer for that month. The storage overage would cost $0.25 USD per GB per day or $37 USD. The overage for data transfer would cost $0.50 USD per GB or $20 USD. +For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would have overages of 148GB for storage and 40GB for data transfer for that month. The storage overage would cost $0.008 USD per GB per day or approximately $37 USD for a 31-day month. The overage for data transfer would cost $0.50 USD per GB or $20 USD. {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} diff --git a/translations/ja-JP/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md b/translations/ja-JP/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md index a66a670f5f..c2cba44e7f 100644 --- a/translations/ja-JP/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md +++ b/translations/ja-JP/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md @@ -32,7 +32,7 @@ There are a few approaches for tackling newly committed credentials, but one exa {% note %} - **Note:** You can automate this step. For large enterprises and organizations with hundreds of repositories, manually following up is unsustainable. You could incorporate automation into the webhook process defined in the first step. The webhook payload contains repository and organization information about the leaked secret. Using this information, you can contact the current maintainers on the repository and create a email/message to the responsible people or open an issue. + **Note:** You can automate this step. For large enterprises and organizations with hundreds of repositories, manually following up is unsustainable. You could incorporate automation into the webhook process defined in the first step. The webhook payload contains repository and organization information about the leaked secret. Using this information, you can contact the current maintainers on the repository and create an email/message to the responsible people or open an issue. {% endnote %} 3. **Educate**: Create an internal training document assigned to the developer who committed the secret. Within this training document, you can explain the risks created by committing secrets and direct them to your best practice information about using secrets securely in development. If the a developer doesn't learn from the experience and continues to commit secrets, you could create an escalation process, but education usually works well. diff --git a/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index a5948aba46..23e20a25a3 100644 --- a/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -43,8 +43,8 @@ By default, the code scanning alerts page is filtered to show alerts for the def ![Summary of alerts](/assets/images/help/repository/code-scanning-click-alert.png) {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} - {% data reusables.code-scanning.alert-default-branch %} - ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} + {% data reusables.code-scanning.alert-default-branch %} + ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} 1. Optionally, if the alert highlights a problem with data flow, click **Show paths** to display the path from the data source to the sink where it's used. {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} ![The "Show paths" link on an alert](/assets/images/help/repository/code-scanning-show-paths.png) diff --git a/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index 686a099b7b..5f3939294a 100644 --- a/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -32,6 +32,12 @@ topics: {% data variables.product.prodname_codeql %}は、コードをビルドするコンテナ内で実行しなければなりません。 これは、{% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}、{% data variables.product.prodname_codeql_runner %}{% endif %}、{% data variables.product.prodname_actions %}のいずれを使っていても当てはまります。 {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}あるいは{% data variables.product.prodname_codeql_runner %}{% endif %}については、詳しい情報は「[CIシステムへの{% data variables.product.prodname_codeql_cli %}のインストール](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)」{% ifversion codeql-runner-supported %}あるいは「[CIシステムでの{% data variables.product.prodname_codeql_runner %}の実行](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)」{% endif %}を参照してください。 {% data variables.product.prodname_actions %} を使用している場合は、同じコンテナですべてのアクションを実行するようワークフローを設定します。 詳しい情報については「[ワークフローの例](#example-workflow)」を参照してください。 +{% note %} + +**ノート:** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + ## 依存関係 使用しているコンテナで特定の依存関係がない場合 (たとえば、Git は PATH 変数にインストールされ、追加されている必要がある)、{% data variables.product.prodname_code_scanning %} を実行する上で困難が生じる場合があります。 依存関係の問題が生じた場合は、通常{% data variables.product.prodname_dotcom %}のランナーのイメージに含まれているソフトウェアのリストをレビューしてください。 詳しい情報については、次の場所にある特定のバージョンの `readme` ファイルを参照してください。 diff --git a/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 52e0b98fd3..32cea9db26 100644 --- a/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -151,25 +151,29 @@ The names of the {% data variables.product.prodname_code_scanning %} analysis ch ![{% data variables.product.prodname_code_scanning %} pull request checks](/assets/images/help/repository/code-scanning-pr-checks.png) -When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion fpt or ghes > 3.2 or ghae or ghec %}an "Analysis not found"{% else %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. +When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} - ![Analysis not found for commit message](/assets/images/help/repository/code-scanning-analysis-not-found.png) +{% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-7095 %} + +{% elsif ghes < 3.5 or ghae %} +If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion ghes > 3.2 or ghae %}an "Analysis not found"{% elsif ghes = 3.2 %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. + +{% ifversion ghes > 3.2 or ghae %} + ![Analysis not found for commit message](/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png) The table lists one or more categories. Each category relates to specific analyses, for the same tool and commit, performed on a different language or a different part of the code. For each category, the table shows the two analyses that {% data variables.product.prodname_code_scanning %} attempted to compare to determine which alerts were introduced or fixed in the pull request. For example, in the screenshot above, {% data variables.product.prodname_code_scanning %} found an analysis for the merge commit of the pull request, but no analysis for the head of the main branch. -{% else %} - ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) -{% endif %} -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} ### Reasons for the "Analysis not found" message -{% else %} + +{% elsif ghes = 3.2 %} + ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) + ### Reasons for the "Missing analysis" message {% endif %} -After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion fpt or ghes > 3.2 or ghae or ghec %}"Analysis not found"{% else %}"Missing analysis for base commit SHA-HASH"{% endif %} message. +After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion ghes > 3.2 or ghae %}"Analysis not found"{% elsif ghes = 3.2 %}"Missing analysis for base commit SHA-HASH"{% endif %} message. There are other situations where there may be no analysis for the latest commit to the base branch for a pull request. These include: @@ -177,7 +181,7 @@ There are other situations where there may be no analysis for the latest commit To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch. -![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) + ![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) The solution in this situation is to add the name of the base branch to the `on:push` and `on:pull_request` specification in the {% data variables.product.prodname_code_scanning %} workflow on that branch and then make a change that updates the open pull request that you want to scan. @@ -189,6 +193,8 @@ There are other situations where there may be no analysis for the latest commit Merge a trivial change into the base branch to trigger {% data variables.product.prodname_code_scanning %} on this latest commit, then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}. +{% endif %} + ## Next steps After setting up {% data variables.product.prodname_code_scanning %}, and allowing its actions to complete, you can: diff --git a/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index daeb17e483..74df7049d2 100644 --- a/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -45,9 +45,15 @@ If you upload a second SARIF file for a commit with the same category and from t If you're new to SARIF and want to learn more, see Microsoft's [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) repository. -## Preventing duplicate alerts using fingerprints +## Providing data to track {% data variables.product.prodname_code_scanning %} alerts across runs -Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the right line of code when files are edited. +Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the correct line of code when files are edited. The `ruleID` for a result has to be the same across analysis. + +### Reporting consistent filepaths + +The filepath has to be consistent across the runs to enable a computation of a stable fingerprint. If the filepaths differ for the same result, each time there is a new analysis a new alert will be created, and the old one will be closed. This will cause having multiple alerts for the same result. + +### Including data for fingerprint generation {% data variables.product.prodname_dotcom %} uses the `partialFingerprints` property in the OASIS standard to detect when two results are logically identical. For more information, see the "[partialFingerprints property](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611)" entry in the OASIS documentation. @@ -77,6 +83,12 @@ You can check a SARIF file is compatible with {% data variables.product.prodname If you use a code analysis engine other than {% data variables.product.prodname_codeql %}, you can review the supported SARIF properties to optimize how your analysis results will appear on {% data variables.product.prodname_dotcom %}. +{% note %} + +**Note:** You must supply an explicit value for any property marked as "required". The empty string is not supported for required properties. + +{% endnote %} + Any valid SARIF 2.1.0 output file can be uploaded, however, {% data variables.product.prodname_code_scanning %} will only use the following supported properties. ### `sarifLog` object @@ -138,7 +150,7 @@ Each `result` object contains details for one alert in the codebase. Within the | `level`| **Optional.** The severity of the result. This level overrides the default severity defined by the rule. {% data variables.product.prodname_code_scanning_capc %} uses the level to filter results by severity on {% data variables.product.prodname_dotcom %}. | `message.text`| **Required.** A message that describes the result. {% data variables.product.prodname_code_scanning_capc %} displays the message text as the title of the result. Only the first sentence of the message will be displayed when visible space is limited. | `locations[]`| **Required.** The set of locations where the result was detected up to a maximum of 10. Only one location should be included unless the problem can only be corrected by making a change at every specified location. **Note:** At least one location is required for {% data variables.product.prodname_code_scanning %} to display a result. {% data variables.product.prodname_code_scanning_capc %} will use this property to decide which file to annotate with the result. Only the first value of this array is used. All other values are ignored. -| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Preventing duplicate alerts using fingerprints](#preventing-duplicate-alerts-using-fingerprints)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. +| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Providing data to track code scanning alerts across runs](#providing-data-to-track-code-scanning-alerts-across-runs)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. | `codeFlows[].threadFlows[].locations[]`| **Optional.** An array of `location` objects for a `threadFlow` object, which describes the progress of a program through a thread of execution. A `codeFlow` object describes a pattern of code execution used to detect a result. If code flows are provided, {% data variables.product.prodname_code_scanning %} will expand code flows on {% data variables.product.prodname_dotcom %} for the relevant result. For more information, see the [`location` object](#location-object). | `relatedLocations[]`| A set of locations relevant to this result. {% data variables.product.prodname_code_scanning_capc %} will link to related locations when they are embedded in the result message. For more information, see the [`location` object](#location-object). @@ -204,7 +216,7 @@ These example SARIF output files show supported properties and example values. ### Example with minimum required properties -This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties or don't include values, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. +This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties, omit values, or use an empty string, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. ```json { diff --git a/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 1e03a239f3..193ee54f5a 100644 --- a/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -58,7 +58,7 @@ For more information see the [`upload-sarif` action](https://github.com/github/c The `upload-sarif` action can be configured to run when the `push` and `scheduled` event occur. For more information about {% data variables.product.prodname_actions %} events, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." -If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#preventing-duplicate-alerts-using-fingerprints)." +If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs)." {% data reusables.code-scanning.upload-sarif-alert-limit %} diff --git a/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md index f6812cd278..1a2e15b3a5 100644 --- a/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md +++ b/translations/ja-JP/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -40,24 +40,24 @@ topics: それぞれの{% data variables.product.prodname_dependabot %}アラートは一意の数値識別子を持っており、{% data variables.product.prodname_dependabot_alerts %}タブにはすべての検出された脆弱性に対するアラートがリストされます。 旧来の{% data variables.product.prodname_dependabot_alerts %}は依存関係で脆弱性をグループ化し、依存関係ごとに1つのアラートを生成しました。 旧来の{% data variables.product.prodname_dependabot %}アラートにアクセスすると、そのパッケージでフィルタされた{% data variables.product.prodname_dependabot_alerts %}タブにリダイレクトされます。 {% endif %} {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5638 %} -You can filter and sort {% data variables.product.prodname_dependabot_alerts %} using a variety of filters and sort options available on the user interface. For more information, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)" below. +ユーザインターフェースで利用できる様々なフィルタとソートのオプションを使って、{% data variables.product.prodname_dependabot_alerts %}をフィルタリング及びソートできます。 詳しい情報については下の「[{% data variables.product.prodname_dependabot_alerts %}の優先順位付け](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)」を参照してください。 -## Prioritizing {% data variables.product.prodname_dependabot_alerts %} +## {% data variables.product.prodname_dependabot_alerts %}の優先順位付け -{% data variables.product.company_short %} helps you prioritize fixing {% data variables.product.prodname_dependabot_alerts %}. {% ifversion dependabot-most-important-sort-option %} By default, {% data variables.product.prodname_dependabot_alerts %} are sorted by importance. The "Most important" sort order helps you prioritize which {% data variables.product.prodname_dependabot_alerts %} to focus on first. アラートは、潜在的な影響、行動可能性、関連性に基づいてランク付けされます。 優先順位の計算は常に改善されており、CSVVスコア、依存関係スコープ、脆弱性のある関数呼び出しがアラートで見つかっているかといった要素を含みます。 +{% data variables.product.company_short %}は{% data variables.product.prodname_dependabot_alerts %}の修正の優先順位付けに役立ちます。 {% ifversion dependabot-most-important-sort-option %}デフォルトでは、{% data variables.product.prodname_dependabot_alerts %}は重要度でソートされます。 "Most important(重要な順)"のソート順は、まず焦点を置くべき{% data variables.product.prodname_dependabot_alerts %}の優先順位付けを助けてくれます。 アラートは、潜在的な影響、行動可能性、関連性に基づいてランク付けされます。 優先順位の計算は常に改善されており、CSVVスコア、依存関係スコープ、脆弱性のある関数呼び出しがアラートで見つかっているかといった要素を含みます。 !["Most important"ソートのあるソートドロップダウンのスクリーンショット](/assets/images/help/dependabot/dependabot-alerts-sort-dropdown.png) {% endif %} {% data reusables.dependabot.dependabot-alerts-filters %} -In addition to the filters available via the search bar, you can sort and filter {% data variables.product.prodname_dependabot_alerts %} using the dropdown menus at the top of the alert list. The search bar also allows for full text searching of alerts and related security advisories. You can search for part of a security advisory name or description to return the alerts in your repository that relate to that security advisory. For example, searching for `yaml.load() API could execute arbitrary code` will return {% data variables.product.prodname_dependabot_alerts %} linked to "[PyYAML insecurely deserializes YAML strings leading to arbitrary code execution](https://github.com/advisories/GHSA-rprw-h62v-c2w7)" as the search string appears in the advisory description. +検索バーを通じて利用できるフィルタに加えて、アラートリストの上部にあるドロップダウンメニューを使って{% data variables.product.prodname_dependabot_alerts %}をソート及びフィルタリングできます。 検索バーでは、アラートと関連するセキュリティアドバイザリの全文検索もできます。 セキュリティアドバイザリ名または説明の一部を検索して、そのセキュリティアドバイザリに関連するリポジトリ内のアラートを返させることができます。 たとえば`yaml.load() API could execute arbitrary code`を検索すれば、この検索文字列はアドバイザリの説明にあるので「[PyYAML insecurely deserializes YAML strings leading to arbitrary code execution](https://github.com/advisories/GHSA-rprw-h62v-c2w7)」にリンクされた{% data variables.product.prodname_dependabot_alerts %}が返されます。 {% endif %} {% ifversion dependabot-bulk-alerts %} ![{% data variables.product.prodname_dependabot_alerts %}タブ中のフィルタ及びソートメニューのスクリーンショット](/assets/images/help/graphs/dependabot-alerts-filters-checkbox.png){% elsif ghes = 3.5 %} -You can select a filter in a dropdown menu at the top of the list, then click the filter that you would like to apply. ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} +リストの上部にあるドロップダウンメニューでフィルタを選択し、続いて適用したいフィルタをクリックできます。 ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} {% ifversion dependabot-alerts-development-label %} ## 依存関係のスコープに対してサポートされているエコシステムとマニフェスト @@ -110,7 +110,7 @@ You can select a filter in a dropdown menu at the top of the list, then click th {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-dependabot-alerts %} -1. Optionally, to filter alerts, select a filter in a dropdown menu then click the filter that you would like to apply. 検索バーにフィルタを入力することもできます。 For more information about filtering and sorting alerts, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)." +1. あるいは、アラートをフィルタリングするには、ドロップダウンメニューでフィルタを選択し、続いて適用したいフィルタをクリックしてください。 検索バーにフィルタを入力することもできます。 アラートのフィルタリングとソートに関する詳しい情報については「[{% data variables.product.prodname_dependabot_alerts %}の優先順位付け](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)」を参照してください。 {%- ifversion dependabot-bulk-alerts %} ![{% data variables.product.prodname_dependabot_alerts %}タブ中のフィルタ及びソートメニューのスクリーンショット](/assets/images/help/graphs/dependabot-alerts-filters-checkbox.png){% else %} ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} @@ -163,7 +163,12 @@ You can select a filter in a dropdown menu at the top of the list, then click th 依存関係のアップグレードのための広汎な作業をスケジュールしていたり、アラートを修正する必要はないと判断したりした場合、アラートを却下できます。 すでに評価済みのアラートを却下すると、新しいアラートが現れたときにトリアージしやすくなります。 1. アラートの詳細を表示させます。 詳しい情報については上の「[脆弱性のある依存関係の表示](#viewing-dependabot-alerts)」を参照してください。 -1. "Dismiss(却下)"ドロップダウンを選択し、アラートを却下する理由をクリックしてください。{% ifversion reopen-dependabot-alerts %}却下された未修正のアラートは、後で再度オープンできます。{% endif %} ![[Dismiss] ドロップダウンでアラートを却下する理由を選択する](/assets/images/help/repository/dependabot-alert-dismiss-drop-down-ungrouped.png) +1. "Dismiss(却下)"ドロップダウンを選択し、アラートを却下する理由をクリックしてください。{% ifversion reopen-dependabot-alerts %}却下された未修正のアラートは、後で再度オープンできます。{% endif %} +{% ifversion dependabot-alerts-dismissal-comment %}1. あるいは、却下のコメントを追加してください。 却下のコメントはアラートのタイムラインに追加され、監査とレポートの際の正当性として利用できます。 GraphQL APIを使って、コメントの取得や設定ができます。 コメントは`dismissComment`フィールドに含まれます。 詳しい情報については、GraphQL APIドキュメンテーションの「[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)を参照してください。 + ![却下のコメントを追加するオプション付きで、"Dismiss"ドロップダウンからアラートを却下する方法を示しているスクリーンショット](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) +1. **Dismiss alert(アラートを却下)**をクリックしてください。 +{% else %} + ![[Dismiss] ドロップダウンでアラートを却下する理由を選択する](/assets/images/help/repository/dependabot-alert-dismiss-drop-down-ungrouped.png){% endif %} {% ifversion dependabot-bulk-alerts %} ### 複数のアラートを一度に却下する diff --git a/translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md b/translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md index aafa359dad..25efa92f84 100644 --- a/translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md +++ b/translations/ja-JP/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md @@ -415,7 +415,7 @@ updates: ### `open-pull-requests-limit` -デフォルトでは、{% data variables.product.prodname_dependabot %} は、バージョン更新に対して最大 5 つのプルリクエストをオープンします。 5 つのプルリクエストがオープンになると、オープンになっているリクエストの一部をマージまたはクローズするまで、新しいリクエストはブロックされます。オープンになっているリクエストの一部をマージまたはクローズしたら、その後の更新で新しいプルリクエストを開くことができます。 この制限を変更するには、`open-pull-requests-limit` を使用します。 これは、パッケージマネージャーのバージョン更新を一時的に無効にする簡単な方法としても使用できます。 +デフォルトでは、{% data variables.product.prodname_dependabot %} は、バージョン更新に対して最大 5 つのプルリクエストをオープンします。 {% data variables.product.prodname_dependabot %}からのオープンなPull Requestが5つあると、それらのオープンなリクエストからマージもしくはクローズされたものが出てくるまでは、{% data variables.product.prodname_dependabot %}は新しいリクエストをオープンしません。 この制限を変更するには、`open-pull-requests-limit` を使用します。 これは、パッケージマネージャーのバージョン更新を一時的に無効にする簡単な方法としても使用できます。 このオプションはセキュリティアップデートに影響を与えません。セキュリティアップデートには、10 件のオープンプルリクエストの内部制限があります。 diff --git a/translations/ja-JP/content/code-security/secret-scanning/about-secret-scanning.md b/translations/ja-JP/content/code-security/secret-scanning/about-secret-scanning.md index 481ec138e4..0110c45c23 100644 --- a/translations/ja-JP/content/code-security/secret-scanning/about-secret-scanning.md +++ b/translations/ja-JP/content/code-security/secret-scanning/about-secret-scanning.md @@ -39,7 +39,7 @@ Service providers can partner with {% data variables.product.company_short %} to {% ifversion secret-scanning-push-protection %} -You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. {% ifversion push-protection-custom-link-orgs %}Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. {% endif %}For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} diff --git a/translations/ja-JP/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/ja-JP/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md index af2fe9a6c9..5dad5906eb 100644 --- a/translations/ja-JP/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md +++ b/translations/ja-JP/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -60,8 +60,20 @@ shortTitle: プッシュ保護の有効化 コマンドラインでは、一度に最大で5つの検出されたシークレットが表示されます。 特定のシークレットが既にリポジトリ中で検出されており、アラートが既に存在するなら、{% data variables.product.prodname_dotcom %}はそのシークレットをブロックしません。 +{% ifversion push-protection-custom-link-orgs %} + +Organizationの管理者は、プッシュがブロックされたときに表示されるカスタムリンクを提供できます。 このカスタムリンクには、Organization固有のリソースと、利用を進めるシークレットの保管庫や、ブロックされたシークレットに関連して質問の連絡を取る相手といったアドバイスを含めることができます。 + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +![ユーザがシークレットをリポジトリにプッシュしようとしたときにプッシュがブロックされたことを示しているスクリーンショット](/assets/images/help/repository/secret-scanning-push-protection-with-custom-link.png) + +{% else %} + ![ユーザがシークレットをリポジトリにプッシュしようとしたときにプッシュがブロックされたことを示しているスクリーンショット](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) +{% endif %} + {% data reusables.secret-scanning.push-protection-remove-secret %} ブロックされたシークレットの修復に関する詳しい情報については「[プッシュ保護によってブロックされたブランチのプッシュ](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)」を参照してください。 シークレットが本物であることが確認され、後で修復しようと考えているなら、できるかぎり早くそのシークレットを修復すべきです。 たとえば、そのシークレットを取り消して、リポジトリのコミット履歴から削除することになるでしょう。 露出してしまった実際のシークレットは、不正アクセスを避けるために取り消さなければなりません。 取り消す前にシークレットをまずローテートすることを検討すべきかもしれません。 詳しい情報については「[センシティブなデータをリポジトリから削除する](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)」を参照してください。 @@ -88,6 +100,14 @@ shortTitle: プッシュ保護の有効化 Web UIでは、{% data variables.product.prodname_dotcom %}は検出されたシークレットを一度に1つだけしか表示しません。 特定のシークレットが既にリポジトリ中で検出されており、アラートが既に存在するなら、{% data variables.product.prodname_dotcom %}はそのシークレットをブロックしません。 +{% ifversion push-protection-custom-link-orgs %} + +Organizationの管理者は、プッシュがブロックされたときに表示されるカスタムリンクを提供できます。 このカスタムリンクには、Organization固有のリソースやアドバイスを含めることができます。 たとえば、このカスタムリンクはOrganizationのシークレットの保管庫に関する情報を持つREADMEファイルや、質問のエスカレート先のチームや個人、あるいはOrganizationで承認されたシークレットの扱いやコミット履歴の書き換えのポリシーなどを指すようにすることができます。 + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + Web UIを使って、シークレットをファイルから削除できます。 シークレットを削除すると、ページ上部のバナーは変化し、変更をコミットできるようになったことを知らせてくれます。 ![シークレットの修正後にコミットが許可されたことをWeb Uiで表示しているスクリーンショット](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) diff --git a/translations/ja-JP/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/ja-JP/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md index e9aba789dd..f8cb7656a3 100644 --- a/translations/ja-JP/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md +++ b/translations/ja-JP/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -26,6 +26,14 @@ shortTitle: ブロックされたブランチのプッシュ {% endtip %} +{% ifversion push-protection-custom-link-orgs %} + +Organizationの管理者は、プッシュがブロックされた際の{% data variables.product.product_name %}からのメッセージに含められるカスタムリンクを提供できます。 このカスタムリンクには、Organization固有のリソースやアドバイスと、Organizationのポリシーを含めることができます。 + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + ## ブロックされたプッシュのコマンドラインでの解決 {% data reusables.secret-scanning.push-protection-command-line-choice %} diff --git a/translations/ja-JP/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/translations/ja-JP/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md index 7f94a835ea..f71712faf0 100644 --- a/translations/ja-JP/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md +++ b/translations/ja-JP/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -12,25 +12,25 @@ shortTitle: プライベートイメージレジストリ ## About private image registries and {% data variables.product.prodname_github_codespaces %} -A registry is a secure space for storing, managing, and fetching private container images. You may use one to store one or more images. There are many examples of registries, such as {% data variables.product.prodname_dotcom %} Container Registry, Azure Container Registry, or DockerHub. +A registry is a secure space for storing, managing, and fetching private container images. You may use one to store one or more images. There are many examples of registries, such as {% data variables.product.prodname_container_registry %}, {% data variables.product.prodname_npm_registry %}, Azure Container Registry, or DockerHub. -{% data variables.product.prodname_dotcom %} Container Registry can be configured to pull container images seamlessly, without having to provide any authentication credentials to {% data variables.product.prodname_github_codespaces %}. For other image registries, you must create secrets in {% data variables.product.prodname_dotcom %} to store the access details, which will allow {% data variables.product.prodname_codespaces %} to access images stored in that registry. +{% data variables.product.prodname_ghcr_and_npm_registry %} can be configured to allow container images to be pulled seamlessly into {% data variables.product.prodname_github_codespaces %} during codespace creation, without having to provide any authentication credentials. For other image registries, you must create secrets in {% data variables.product.prodname_dotcom %} to store the access details, which will allow {% data variables.product.prodname_codespaces %} to access images stored in that registry. -## Accessing images stored in {% data variables.product.prodname_dotcom %} Container Registry +## Accessing images stored in {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data variables.product.prodname_dotcom %} Container Registry is the easiest way for {% data variables.product.prodname_codespaces %} to consume devcontainer container images. +{% data variables.product.prodname_ghcr_and_npm_registry %} provide the easiest way for {% data variables.product.prodname_codespaces %} to consume dev container images. -For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)". +For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)" and "[Working with the npm registry](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)". ### Accessing an image published to the same repository as the codespace -If you publish a container image to {% data variables.product.prodname_dotcom %} Container Registry in the same repository that the codespace is being launched in, you will automatically be able to fetch that image on codespace creation. You won't have to provide any additional credentials, unless the **Inherit access from repo** option was unselected when the container image was published. +If you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %} in the same repository that the codespace is being launched in, you will automatically be able to fetch that image on codespace creation. You won't have to provide any additional credentials, unless the **Inherit access from repo** option was unselected when the container image was published. #### Inheriting access from the repository from which an image was published -By default, when you publish a container image to {% data variables.product.prodname_dotcom %} Container Registry, the image inherits the access setting of the repository from which the image was published. For example, if the repository is public, the image is also public. If the repository is private, the image is also private, but is accessible from the repository. +By default, when you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %}, the image inherits the access setting of the repository from which the image was published. For example, if the repository is public, the image is also public. If the repository is private, the image is also private, but is accessible from the repository. -This behavior is controlled by the **Inherit access from repo** option. **Inherit access from repo** is selected by default when publishing via {% data variables.product.prodname_actions %}, but not when publishing directly to {% data variables.product.prodname_dotcom %} Container Registry using a Personal Access Token (PAT). +This behavior is controlled by the **Inherit access from repo** option. **Inherit access from repo** is selected by default when publishing via {% data variables.product.prodname_actions %}, but not when publishing directly to {% data variables.product.prodname_ghcr_or_npm_registry %} using a Personal Access Token (PAT). If the **Inherit access from repo** option was not selected when the image was published, you can manually add the repository to the published container image's access controls. 詳しい情報については「[パッケージのアクセス制御と可視性](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#inheriting-access-for-a-container-image-from-a-repository)」を参照してください。 @@ -46,13 +46,13 @@ If you want to allow a subset of an organization's repositories to access a cont ### Publishing a container image from a codespace -Seamless access from a codespace to {% data variables.product.prodname_dotcom %} Container Registry is limited to pulling container images. If you want to publish a container image from inside a codespace, you must use a personal access token (PAT) with the `write:packages` scope. +Seamless access from a codespace to {% data variables.product.prodname_ghcr_or_npm_registry %} is limited to pulling container images. If you want to publish a container image from inside a codespace, you must use a personal access token (PAT) with the `write:packages` scope. -We recommend publishing images via {% data variables.product.prodname_actions %}. For more information, see "[Publishing Docker images](/actions/publishing-packages/publishing-docker-images)." +We recommend publishing images via {% data variables.product.prodname_actions %}. For more information, see "[Publishing Docker images](/actions/publishing-packages/publishing-docker-images)" and "[Publishing Node.js packages](/actions/publishing-packages/publishing-nodejs-packages)." ## Accessing images stored in other container registries -If you are accessing a container image from a registry that isn't {% data variables.product.prodname_dotcom %} Container Registry, {% data variables.product.prodname_codespaces %} checks for the presence of three secrets, which define the server name, username, and personal access token (PAT) for a container registry. これらのシークレットが見つかった場合、{% data variables.product.prodname_github_codespaces %} はレジストリを codespace 内で使用できるようにします。 +If you are accessing a container image from a registry that isn't {% data variables.product.prodname_ghcr_or_npm_registry %}, {% data variables.product.prodname_codespaces %} checks for the presence of three secrets, which define the server name, username, and personal access token (PAT) for a container registry. これらのシークレットが見つかった場合、{% data variables.product.prodname_github_codespaces %} はレジストリを codespace 内で使用できるようにします。 - `<*>_CONTAINER_REGISTRY_SERVER` - `<*>_CONTAINER_REGISTRY_USER` diff --git a/translations/ja-JP/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/ja-JP/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index 77bd7be249..9781ece278 100644 --- a/translations/ja-JP/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/ja-JP/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -90,15 +90,13 @@ You can add further script, preferences, configuration files to your dotfiles re 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)." -## Other available settings - You can also personalize {% data variables.product.prodname_codespaces %} using additional [{% data variables.product.prodname_codespaces %} settings](https://github.com/settings/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)." -- 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 add encrypted secrets, see "[Managing encrypted secrets for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces)." - 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 allow your codespaces to access other repositories, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-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)." ## Further reading diff --git a/translations/ja-JP/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/translations/ja-JP/content/codespaces/developing-in-codespaces/creating-a-codespace.md index 0712d93197..8b9766e0d6 100644 --- a/translations/ja-JP/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/translations/ja-JP/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -46,23 +46,20 @@ If you want to use Git hooks for your codespace, then you should set up hooks us When you have access to {% data variables.product.prodname_github_codespaces %}, you'll see a "Codespaces" tab within the **{% octicon "code" aria-label="The code icon" %} Code** drop-down menu when you view a repository. -You'll have access to codespaces under the following conditions: +You'll have access to {% data variables.product.prodname_github_codespaces %} under the following conditions: -* You are a member of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. -* An organization owner has granted you access to {% data variables.product.prodname_codespaces %}. -* The repository is owned by the organization that has enabled {% data variables.product.prodname_codespaces %}. +Either all of these are true: +* You are a member, or outside collaborator, of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. +* The organization owner has allowed you to create codespaces at the organization's expense. +* The repository for which you want to create a codespace is owned by this organization. -{% note %} - -**Note:** Individuals who have already joined the beta with their personal {% data variables.product.prodname_dotcom %} account will not lose access to {% data variables.product.prodname_codespaces %}, however {% data variables.product.prodname_codespaces %} for individuals will continue to remain in beta. - -{% endnote %} - -Organization owners can allow all members of the organization to create codespaces, limit codespace creation to selected organization members, or disable codespace creation. For more information about managing access to codespaces within your organization, see "[Enable Codespaces for users in your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)." +Or both of these are true: +* You are participating in the beta of {% data variables.product.prodname_codespaces %} for individual users. +* Either you own the repository for which you want to create a codespace, or it is owned by an organization of which you are either a member or an outside collaborator. Before {% data variables.product.prodname_codespaces %} can be used in an organization, an owner or billing manager must have set a spending limit. For more information, see "[About spending limits for Codespaces](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)." -If you would like to create a codespace for a repository owned by your personal account or another user, and you have permission to create repositories in an organization that has enabled {% data variables.product.prodname_github_codespaces %}, you can fork user-owned repositories to that organization and then create a codespace for the fork. +Organization owners can specify who can create and use codespaces at the organization's expense. Organization owners can also prevent any codespace usage being charged to the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." ## codespace を作成する diff --git a/translations/ja-JP/content/codespaces/developing-in-codespaces/renaming-a-codespace.md b/translations/ja-JP/content/codespaces/developing-in-codespaces/renaming-a-codespace.md index cc0ca02af9..fb0484b87d 100644 --- a/translations/ja-JP/content/codespaces/developing-in-codespaces/renaming-a-codespace.md +++ b/translations/ja-JP/content/codespaces/developing-in-codespaces/renaming-a-codespace.md @@ -27,7 +27,9 @@ To find the display name of a codespace: ![Screenshot of the Remote Explorer in VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} - In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. + ### Permanent codespace names In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. For example: `octocat-myrepo-gmc7`. You can't change this name. diff --git a/translations/ja-JP/content/codespaces/guides.md b/translations/ja-JP/content/codespaces/guides.md index 8349120fb8..59bdf9721a 100644 --- a/translations/ja-JP/content/codespaces/guides.md +++ b/translations/ja-JP/content/codespaces/guides.md @@ -40,7 +40,6 @@ includeGuides: - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization - /codespaces/managing-codespaces-for-your-organization/managing-billing-for-codespaces-in-your-organization - /codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces - - /codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces - /codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types - /codespaces/managing-codespaces-for-your-organization/retricting-the-idle-timeout-period - /codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces diff --git a/translations/ja-JP/content/codespaces/index.md b/translations/ja-JP/content/codespaces/index.md index 9a79bd2714..cd1444eae7 100644 --- a/translations/ja-JP/content/codespaces/index.md +++ b/translations/ja-JP/content/codespaces/index.md @@ -7,11 +7,11 @@ introLinks: quickstart: /codespaces/getting-started/quickstart featuredLinks: guides: - - /billing/managing-billing-for-github-codespaces/about-billing-for-codespaces - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization - - /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project - - /codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces - /codespaces/developing-in-codespaces/codespaces-lifecycle + - /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project + - /codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces + - /billing/managing-billing-for-github-codespaces/about-billing-for-codespaces popular: - /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces - /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md index db2f279779..8a9f270e83 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Enabling GitHub Codespaces for your organization -shortTitle: Enable Codespaces -intro: 'Organization 内のどのユーザが {% data variables.product.prodname_github_codespaces %} を使用できるかを制御できます。' +shortTitle: 'Enable {% data variables.product.prodname_codespaces %}' +intro: 'You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization''s expense.' product: '{% data reusables.gated-features.codespaces %}' -permissions: 'To manage user permissions for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +permissions: 'To alter an organization''s billing settings, you must be an organization owner.' redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization @@ -13,25 +13,23 @@ versions: type: how_to topics: - Codespaces - - Permissions + - Billing - Administrator --- - ## About enabling {% data variables.product.prodname_github_codespaces %} for your organization -Organization のオーナーは、Organization 内のどのユーザが Codespaces を作成および使用できるかを制御できます。 +Organization owners can control which users in your organization can create and use codespaces at the organization's expense. -To use codespaces in your organization, you must do the following: +Only people who can clone a repository can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must: + +- Ensure that users have at least write access to the repositories where they want to use a codespace. 詳しい情報については「[リポジトリへのアクセスを持つTeamや人の管理](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)」を参照してください。 +- Ensure that your organization does not have an IP address allow list enabled. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +To allow people to create codespaces for which your organization will be billed, you must: -- Ensure that users have [at least write access](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization) to the repositories where they want to use a codespace. -- [Enable {% data variables.product.prodname_github_codespaces %} for users in your organization](#enable-codespaces-for-users-in-your-organization). You can choose to allow {% data variables.product.prodname_codespaces %} for selected users or only for specific users. - [Set a spending limit](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) -- Ensure that your organization does not have an IP address allow list enabled. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} - -By default, a codespace can only access the repository from which it was created. Organization 内の Codespaces で、codespace の作者がアクセスできる他の Organization リポジトリにアクセスできるようにする場合は、「[{% data variables.product.prodname_codespaces %} のアクセスとセキュリティを管理する](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)」を参照してください。 - -## Enable {% data variables.product.prodname_codespaces %} for users in your organization +- [Choose who can create codespaces that are billed to your organization](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) {% ifversion fpt %} {% note %} @@ -40,31 +38,44 @@ By default, a codespace can only access the repository from which it was created {% endnote %} {% endif %} + +By default, a codespace can only access the repository from which it was created. If you want codespaces in your organization to be able to access other organization repositories that the codespace creator can access, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)." + +## Choose who can create codespaces that are billed to your organization + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. [User permissions] で、次のいずれかのオプションを選択します。 +1. Under "Billing," select one of the following options: - * [**Selected users**] にすると、{% data variables.product.prodname_codespaces %} を使用する特定の Organization メンバーを選択できます。 - * **Allow for all members** to allow all your organization members to use {% data variables.product.prodname_codespaces %}. - * **Allow for all members and outside collaborators** to allow all your organization members as well as outside collaborators to use {% data variables.product.prodname_codespaces %}. + * **Disabled** - Your organization will not be charged for codespace usage. {% data variables.product.prodname_codespaces %} created for your organization's repositories will be billed to the individual users who create them. + * **Selected members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by selected members will be billed to the organization. + * **All members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by members of your organization will be billed to the organization. + * **All members and outside collaborators** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by organization members and outside collaborators will be billed to the organization. - !["User permissions" のラジオボタン](/assets/images/help/codespaces/org-user-permission-settings-outside-collaborators.png) + ![Radio buttons for "Billing"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) {% note %} - **Note:** When you select **Allow for all members and outside collaborators**, all outside collaborators who have been added to specific repositories can create and use {% data variables.product.prodname_codespaces %}. Your organization will be billed for all usage incurred by outside collaborators. For more information on managing outside collaborators, see "[About outside collaborators](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)." + **Note:** When you select **All members and outside collaborators**, all outside collaborators who have been added to specific repositories can create and use {% data variables.product.prodname_codespaces %} for those repositories, and your organization will be billed for this usage. For more information on managing outside collaborators, see "[About outside collaborators](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)." {% endnote %} 1. [**Save**] をクリックします。 +1. If you chose **Selected members**, an input box is displayed for you to enter the names of users you want to select. + + ![Input box for selecting users](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) ## Disabling {% data variables.product.prodname_codespaces %} for your organization +You can prevent the creation and use of codespaces billable to your organization. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Under "User permissions", select **Disabled**. +1. Under "Billing," select **Disabled**. ## 利用限度の設定 diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index ca50b3f071..6ab2c5e722 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -35,11 +35,15 @@ You can set a usage limit for the codespaces in your organization or repository. ## Disabling or limiting {% data variables.product.prodname_codespaces %} -You can disable the use of {% data variables.product.prodname_codespaces %} in your organization or repository. For more information, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)." +You can disable all use of {% data variables.product.prodname_github_codespaces %} that would be billed to your organization. Alternatively, you can specify which organization members or collaborators can use {% data variables.product.prodname_codespaces %} at your organization's expense. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)." -You can also limit the individual users who can use {% data variables.product.prodname_codespaces %}. For more information, see "[Managing user permissions for your organization](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)." +{% data reusables.codespaces.codespaces-disabling-org-billing %} -You can limit the choice of machine types that are available for repositories owned by your organization. This allows you to prevent people using overly resourced machines for their codespaces. 詳しい情報については「[マシンタイプへのアクセス制限](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)」を参照してください。 +You can configure which repositories can be accessed from codespaces created for a particular repository. For more information, see "[Managing access to other repositories within your codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)." + +You can limit the choice of types of machine that are available for codespaces created from repositories owned by your organization. This allows you to prevent people using overly resourced machines for their codespaces, and incurring unnecessary charges. 詳しい情報については「[マシンタイプへのアクセス制限](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)」を参照してください。 + +You can also restrict how long a codespace can remain unused before it is automatically deleted. This can help to reduce storage costs for {% data variables.product.prodname_codespaces %}. For more information, see "[Restricting the retention period for codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)." ## Deleting unused codespaces @@ -47,6 +51,6 @@ Your users can delete their codespaces in https://github.com/codespaces and from {% note %} -**注釈:** codespace を作成したユーザだけが削除できます。 現在、Organization のオーナーが Organization 内で作成された Codespaces を削除する方法はありません。 +**Note:** Codespaces are automatically deleted after they have been stopped and have remained inactive for a defined number of days. For more information, see "[Restricting the retention period for codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)." A codespace can only be manually deleted by the person who created the codespace. {% endnote %} diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md index 04cb517ff7..b4e181be5b 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -20,7 +20,7 @@ redirect_from: {% warning %} -**Deprecation note**: The access and security setting described below is now deprecated and is documented here for reference only. To enable expanded access to other repositories, add the requested permissions to your dev container definition. For more information, see "[Managing access to other repositories within your codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)." +**Deprecation note**: The access and security setting described below is now deprecated and is documented here for reference only. To enable expanded access to other repositories, add the requested permissions to your `devcontainer.json` configuration file. For more information, see "[Managing access to other repositories within your codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)." {% endwarning %} diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 415f43e055..6a55e8dc43 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -43,6 +43,8 @@ For example, you could create an organization-wide policy that restricts the mac If you add an organization-wide policy, you should set it to the largest choice of machine types that will be available for any repository in your organization. You can then add repository-specific policies to further restrict the choice. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to limit the available machine types {% data reusables.profile.access_org %} diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index fc28f2cf6e..06c9c95946 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -40,6 +40,8 @@ When you create a policy, you choose whether it applies to all repositories in y If you add an organization-wide policy with a timeout constraint, you should set the timeout to the longest acceptable period. You can then add separate policies that set the maximum timeout to a shorter period for specific repositories in your organization. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to set a maximum idle timeout period {% data reusables.profile.access_org %} diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index 06d0b8f5e8..68dda36c9c 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -26,6 +26,8 @@ When you create a policy, you choose whether it applies to all repositories in y If you add an organization-wide policy with a retention constraint, you should set the retention period to the longest acceptable period. You can then add separate policies that set the maximum retention to a shorter period for specific repositories in your organization. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to set a maximum codespace retention period {% data reusables.profile.access_org %} diff --git a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index 32407ca041..81f43ee279 100644 --- a/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/translations/ja-JP/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -36,6 +36,8 @@ For example, you could create an organization-wide policy that restricts the vis If you add an organization-wide policy, you should set it to the most lenient visibility option that will be available for any repository in your organization. You can then add repository-specific policies to further restrict the choice. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adding a policy to limit the port visibility options {% data reusables.profile.access_org %} diff --git a/translations/ja-JP/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md b/translations/ja-JP/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md index d99f845a82..850b43433f 100644 --- a/translations/ja-JP/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md +++ b/translations/ja-JP/content/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces.md @@ -132,7 +132,3 @@ When you enable access and security for a repository owned by your personal acco 1. [Selected repositories] を選択した場合、ドロップダウンメニューを選択してから、あなたの所有するその他のリポジトリにアクセスを許可する、リポジトリのコードスペースをクリックします。 所有するその他のリポジトリにコードスペースによるアクセスを許可したい、すべてのリポジトリについて同じ手順を繰り返します。 ![[Selected repositories]ドロップダウンメニュー](/assets/images/help/settings/codespaces-access-and-security-repository-drop-down.png) - -## 参考リンク - -- "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)" diff --git a/translations/ja-JP/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/ja-JP/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md index 5094075f8b..a64f9e0920 100644 --- a/translations/ja-JP/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md +++ b/translations/ja-JP/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -31,6 +31,7 @@ The name the codespace is also included in many of the log files. For example, i Every codespace also has an ID (identifier). This is not shown by default in {% data variables.product.prodname_vscode %} so you may need to update the settings for the {% data variables.product.prodname_github_codespaces %} extension before you can access the ID. 1. In {% data variables.product.prodname_vscode %}, browser or desktop, in the Activity Bar on the left, click **Remote Explorer** to show details for the codespace. -2. If the sidebar includes a "Codespace Performance" section, hover over the "Codespace ID" and click the clipboard icon to copy the ID. -3. If the information is not shown, click {% octicon "gear" aria-label="The gear icon" %}, in the bottom-left corner of the Activity Bar, to display the "Settings" tab. -4. Expand **Extensions** and click **{% data variables.product.prodname_github_codespaces %}** to display the settings for the extension. Then enable **Show Performance Explorer** to display the "Codespace Performance" section in the sidebar. ![Codespace ID and settings required to display performance information](/assets/images/help/codespaces/find-codespace-id.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. If the sidebar includes a "Codespace Performance" section, hover over the "Codespace ID" and click the clipboard icon to copy the ID. +1. If the information is not shown, click {% octicon "gear" aria-label="The gear icon" %}, in the bottom-left corner of the Activity Bar, to display the "Settings" tab. +1. Expand **Extensions** and click **{% data variables.product.prodname_github_codespaces %}** to display the settings for the extension. Then enable **Show Performance Explorer** to display the "Codespace Performance" section in the sidebar. ![Codespace ID and settings required to display performance information](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/ja-JP/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md b/translations/ja-JP/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md index 81b210ccbe..0f59c4c991 100644 --- a/translations/ja-JP/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md +++ b/translations/ja-JP/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md @@ -539,7 +539,7 @@ Errors with `body` will be prefixed with `body[i]` where `i` represents the inde ### サンプル -``` +```yaml body: - type: dropdown attributes: @@ -552,7 +552,7 @@ body: The error can be fixed by ensuring that no duplicate choices exist in the `options` array. -``` +```yaml body: - type: dropdown attributes: @@ -570,7 +570,7 @@ Errors with `body` will be prefixed with `body[i]` where `i` represents the inde ### サンプル -``` +```yaml body: - type: dropdown attributes: @@ -585,7 +585,7 @@ body: The error can be fixed by removing "None" as an option. If you want a contributor to be able to indicate that they like none of those types of pies, you can additionally remove the `required` validation. -``` +```yaml body: - type: dropdown attributes: @@ -605,7 +605,7 @@ Errors with `body` will be prefixed with `body[i]` where `i` represents the inde ### サンプル -``` +```yaml body: - type: dropdown attributes: @@ -618,7 +618,7 @@ body: The error can be fixed by wrapping each offending option in quotes, to prevent them from being processed as Boolean values. -``` +```yaml body: - type: dropdown attributes: @@ -629,6 +629,36 @@ body: - Maybe ``` +## Body cannot be empty + +The template body `key:value` pair can not be empty. For more information about which top-level keys are required, see "[Syntax for issue forms](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#top-level-syntax)." + +The error can be fixed by adding the `body:` section. + +### サンプル + +```yaml +name: Support Request +description: Something went wrong and you need help? +--- +body: +- type: textarea + attributes: + label: "What's wrong?" +``` + +In this example, the error can be fixed by deleting the `---` (document separator) between the headers and the `body` section. + +```yaml +name: Support Request +description: Something went wrong and you need help? + +body: +- type: textarea + attributes: + label: "What's wrong?" +``` + ## 参考リンク - [YAML](https://yaml.org/) diff --git a/translations/ja-JP/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/translations/ja-JP/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index 9741288825..135c0354d0 100644 --- a/translations/ja-JP/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/translations/ja-JP/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -23,6 +23,8 @@ Organization に許可リストがある場合、{% data variables.product.prodn ## {% data variables.product.prodname_github_app %} に IPアドレス許可リストを追加する +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} {% data reusables.user-settings.github_apps %} diff --git a/translations/ja-JP/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/translations/ja-JP/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md index 1f4c4dd83c..30d4a58471 100644 --- a/translations/ja-JP/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md +++ b/translations/ja-JP/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -47,7 +47,7 @@ Rate limits for {% data variables.product.prodname_github_apps %} and {% data va {% ifversion fpt or ghec %} -{% data variables.product.prodname_github_apps %} that are installed on an organization or a repository within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour. +{% data variables.product.prodname_github_apps %} that are installed on an organization within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour per organization that has installed the app. {% endif %} diff --git a/translations/ja-JP/content/developers/overview/about-githubs-apis.md b/translations/ja-JP/content/developers/overview/about-githubs-apis.md index 60b39e4749..dd06e18dae 100644 --- a/translations/ja-JP/content/developers/overview/about-githubs-apis.md +++ b/translations/ja-JP/content/developers/overview/about-githubs-apis.md @@ -15,17 +15,3 @@ topics: --- GitHub APIには、[REST API](/rest)と[GraphQL API](/graphql)という2つの安定バージョンがあります。 - -## 非推奨のバージョン - -### ベータ - -ベータAPIは2014年4月22日に非推奨となりました。 - -### v2 - -API v2のサポートは2012年6月12日に廃止されました。 - -### v1 - -API v1のサポートは2012年6月12日に廃止されました。 diff --git a/translations/ja-JP/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/translations/ja-JP/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md index a0fae35e8f..cf8e39bfa0 100644 --- a/translations/ja-JP/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md +++ b/translations/ja-JP/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -37,12 +37,12 @@ $ export SECRET_TOKEN=your_token ## GitHub からのペイロードを検証する -シークレットトークンが設定されると、{% data variables.product.product_name %} はそれを使用して各ペイロードでハッシュ署名を作成します。 This hash signature is included with the headers of each request as `X-Hub-Signature-256`. +シークレットトークンが設定されると、{% data variables.product.product_name %} はそれを使用して各ペイロードでハッシュ署名を作成します。 This hash signature is included with the headers of each request as `x-hub-signature-256`. {% ifversion fpt or ghes or ghec %} {% note %} -**注釈:** 下位互換性のために、SHA-1 ハッシュ関数を使用して生成される `X-Hub-Signature` ヘッダーも含まれています。 可能であれば、セキュリティを向上させるために `X-Hub-Signature-256` ヘッダを使用することをお勧めします。 以下は、`X-Hub-Signature-256` ヘッダの使用例です。 +**Note:** For backward-compatibility, we also include the `x-hub-signature` header that is generated using the SHA-1 hash function. If possible, we recommend that you use the `x-hub-signature-256` header for improved security. The example below demonstrates using the `x-hub-signature-256` header. {% endnote %} {% endif %} diff --git a/translations/ja-JP/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/ja-JP/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index f6016ea693..d0ffb7013e 100644 --- a/translations/ja-JP/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/translations/ja-JP/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -9,8 +9,8 @@ redirect_from: versions: fpt: '*' children: - - /use-github-at-your-educational-institution - /github-global-campus-for-students - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution --- diff --git a/translations/ja-JP/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md b/translations/ja-JP/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md index 71d5ab24d3..c0f1a67bca 100644 --- a/translations/ja-JP/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md +++ b/translations/ja-JP/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md @@ -55,7 +55,7 @@ redirect_from: ### 課題のタイプを選択する -[Individual or group assignment] の下で、ドロップダウンメニューを選択し、[**Group assignment**] をクリックします。 課題の作成後は、課題タイプを変更できません。 個人課題を作成する場合は、「[個人課題の作成](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)」を参照してください。 +[Individual or group assignment] の下で、ドロップダウンメニューを選択し、[**Group assignment**] をクリックします。 課題の作成後は、課題タイプを変更できません。 If you'd rather create an individual assignment, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." ### 課題のTeamを定義する diff --git a/translations/ja-JP/content/get-started/exploring-projects-on-github/following-organizations.md b/translations/ja-JP/content/get-started/exploring-projects-on-github/following-organizations.md index 8599a83369..a6385b86bd 100644 --- a/translations/ja-JP/content/get-started/exploring-projects-on-github/following-organizations.md +++ b/translations/ja-JP/content/get-started/exploring-projects-on-github/following-organizations.md @@ -7,15 +7,11 @@ topics: - Profile --- -{% note %} - -**Note:** The ability to follow organizations is currently in public beta and subject to change. - -{% endnote %} +{% data reusables.organizations.follow-organizations-beta %} ## About followers on {% data variables.product.product_name %} -When you follow organizations, you'll see their public activity on your personal dashboard. 詳細は「[パーソナルダッシュボードについて](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)」を参照してください。 +{% data reusables.organizations.about-following-organizations %} For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." You can unfollow an organization if you do not wish to see their {% ifversion fpt or ghec %}public{% endif %} activity on {% data variables.product.product_name %}. diff --git a/translations/ja-JP/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md b/translations/ja-JP/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md index ecbabbb9d7..eddab6d9bf 100644 --- a/translations/ja-JP/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md +++ b/translations/ja-JP/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md @@ -57,11 +57,21 @@ If you have existing source code or repositories stored locally on your computer 1. {% data variables.product.product_location %}上で[新しいリポジトリを作成](/repositories/creating-and-managing-repositories/creating-a-new-repository)します。 エラーを避けるため、新しいリポジトリは*README*、ライセンス、あるいは `gitignore` で初期化しないでください。 これらのファイルは、プロジェクトを {% data variables.product.product_name %}にプッシュした後で追加できます。 ![[Create New Repository] ドロップダウン](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. ワーキングディレクトリをローカルプロジェクトに変更します。 -4. ローカルディレクトリを Git リポジトリとして初期化します。 - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. ファイルを新しいローカルリポジトリに追加します。 これで、それらのファイルが最初のコミットに備えてステージングされます。 + ```shell $ git add . # ローカルリポジトリにファイルを追加し、コミットに備えてステージします。 {% data reusables.git.unstage-codeblock %} @@ -92,10 +102,19 @@ If you have existing source code or repositories stored locally on your computer 1. {% data variables.product.product_location %}上で[新しいリポジトリを作成](/articles/creating-a-new-repository)します。 エラーを避けるため、新しいリポジトリは*README*、ライセンス、あるいは `gitignore` で初期化しないでください。 これらのファイルは、プロジェクトを {% data variables.product.product_name %}にプッシュした後で追加できます。 ![[Create New Repository] ドロップダウン](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. ワーキングディレクトリをローカルプロジェクトに変更します。 -4. ローカルディレクトリを Git リポジトリとして初期化します。 - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. ファイルを新しいローカルリポジトリに追加します。 これで、それらのファイルが最初のコミットに備えてステージングされます。 ```shell $ git add . @@ -127,10 +146,19 @@ If you have existing source code or repositories stored locally on your computer 1. {% data variables.product.product_location %}上で[新しいリポジトリを作成](/articles/creating-a-new-repository)します。 エラーを避けるため、新しいリポジトリは*README*、ライセンス、あるいは `gitignore` で初期化しないでください。 これらのファイルは、プロジェクトを {% data variables.product.product_name %}にプッシュした後で追加できます。 ![[Create New Repository] ドロップダウン](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. ワーキングディレクトリをローカルプロジェクトに変更します。 -4. ローカルディレクトリを Git リポジトリとして初期化します。 - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. ファイルを新しいローカルリポジトリに追加します。 これで、それらのファイルが最初のコミットに備えてステージングされます。 ```shell $ git add . diff --git a/translations/ja-JP/content/get-started/quickstart/be-social.md b/translations/ja-JP/content/get-started/quickstart/be-social.md index f2ae29f7f0..3bd6a70bc6 100644 --- a/translations/ja-JP/content/get-started/quickstart/be-social.md +++ b/translations/ja-JP/content/get-started/quickstart/be-social.md @@ -58,7 +58,23 @@ From your dashboard, click the drop down menu of your username on the left side ![アカウントのコンテキストの切り替えのドロップダウン](/assets/images/help/overview/dashboard-contextswitcher.png) -### {% data variables.product.prodname_dotcom %} 上の他のプロジェクトを調べる +{% ifversion for-you-feed %} + +## Following organizations + +{% data reusables.organizations.follow-organizations-beta %} + +{% data reusables.organizations.about-following-organizations %} + +To follow an organization, in the header of the organization's page, click **Follow**. + +![Screenshot of the organization header, with the follow button highlighted](/assets/images/help/profile/organization-profile-following.png) + +For more information, see "[Following organizations](/get-started/exploring-projects-on-github/following-organizations)." + +{% endif %} + +## {% data variables.product.prodname_dotcom %} 上の他のプロジェクトを調べる You can discover new and interesting projects on {% data variables.product.prodname_dotcom %}'s Explore page. You can star interesting projects to make them easy to find again later. Visit your stars page to see all your starred projects. For more information about stars, see "[Saving repositories with stars](/get-started/exploring-projects-on-github/saving-repositories-with-stars)." diff --git a/translations/ja-JP/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/translations/ja-JP/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index 7e46a5395c..cfd6821b28 100644 --- a/translations/ja-JP/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/translations/ja-JP/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -23,7 +23,7 @@ To transfer an open issue to another repository, you must have write access to t {% endnote %} -When you transfer an issue, comments, labels and assignees are retained. The issue's milestones are not retained. This issue will stay on any user-owned or organization-wide project boards and be removed from any repository project boards. For more information, see "[About project boards](/articles/about-project-boards)." +When you transfer an issue, comments and assignees are retained. Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. This issue will stay on any user-owned or organization-wide project boards and be removed from any repository project boards. For more information, see "[About project boards](/articles/about-project-boards)." People or teams who are mentioned in the issue will receive a notification letting them know that the issue has been transferred to a new repository. The original URL redirects to the new issue's URL. People who don't have read permissions in the new repository will see a banner letting them know that the issue has been transferred to a new repository that they can't access. diff --git a/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index 0d3646f467..66d1d9f1e0 100644 --- a/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -36,15 +36,22 @@ Enterprise アカウントで Organization に対して許可される IP アド ## 許可 IP アドレスを追加する +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## 許可 IP アドレスを有効化する +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -69,6 +76,8 @@ Enterprise アカウントで Organization に対して許可される IP アド ## 許可 IP アドレスを編集する +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -76,6 +85,18 @@ Enterprise アカウントで Organization に対して許可される IP アド {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 1. [**Update**] をクリックします。 +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## 許可 IP アドレスを削除する diff --git a/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md b/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md index d5cee8b617..686a427ea5 100644 --- a/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md +++ b/translations/ja-JP/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization.md @@ -740,7 +740,7 @@ For more information, see "[Managing the publication of {% data variables.produc | Action | Description |------------------|------------------- |`create` | Triggered when an organization owner creates a new custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." -|`destroy` | Triggered when a organization owner deletes a custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." +|`destroy` | Triggered when an organization owner deletes a custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." |`update` | Triggered when an organization owner edits an existing custom repository role. For more information, see "[Managing custom repository roles for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)." {% endif %} diff --git a/translations/ja-JP/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md b/translations/ja-JP/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md index da08bc8c9d..f90c8934e7 100644 --- a/translations/ja-JP/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md +++ b/translations/ja-JP/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md @@ -23,7 +23,7 @@ SSH CAをOrganizationに追加すると、メンバーはあなたが提供し ## SSH 認証局を追加する -If you require SSH certificates for your enterprise, enterprise members should use a special URL for Git operations over SSH. 詳しい情報については、「[SSH 認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#about-ssh-urls-with-ssh-certificates)」を参照してください。 +EnterpriseでSSH証明書が必要な場合、EnterpriseのメンバーはSSH経由のGitの操作に特別なURLを使わなければなりません。 詳しい情報については、「[SSH 認証局について](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities#about-ssh-urls-with-ssh-certificates)」を参照してください。 {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} diff --git a/translations/ja-JP/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md b/translations/ja-JP/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md index 70895a13ef..6f1b4da2a6 100644 --- a/translations/ja-JP/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md +++ b/translations/ja-JP/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md @@ -1,6 +1,6 @@ --- title: OrganizationでのGitHub Discussionsの有効化もしくは無効化 -intro: 'Organization内の1つのリポジトリに限定されない会話をするための場所として、{% data variables.product.prodname_discussions %}をOrganizationで利用できます。' +intro: 'You can use {% data variables.product.prodname_discussions %} in an organization as a place for your organization to have conversations that aren''t specific to a single repository within your organization.' permissions: 'Organization owners can enable {% data variables.product.prodname_discussions %} for their organization.' versions: feature: discussions diff --git a/translations/ja-JP/content/packages/index.md b/translations/ja-JP/content/packages/index.md index df29da2cf1..968eddf1d9 100644 --- a/translations/ja-JP/content/packages/index.md +++ b/translations/ja-JP/content/packages/index.md @@ -18,6 +18,7 @@ featuredLinks: guideCards: - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' - '{% ifversion fpt or ghec or ghes > 3.4 %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion packages-npm-v2 %}/packages/working-with-a-github-packages-registry/working-with-the-npm-registry{% endif %}' - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry changelog: label: packages diff --git a/translations/ja-JP/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/translations/ja-JP/content/packages/learn-github-packages/about-permissions-for-github-packages.md index 6bedc6b0bb..15b8a24c93 100644 --- a/translations/ja-JP/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/translations/ja-JP/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -18,20 +18,22 @@ shortTitle: 権限について リポジトリスコープのパッケージは、パッケージを所有するリポジトリの権限と可視性を継承します。 リポジトリをスコープとするパッケージは、リポジトリのメインページにアクセスし、ページ右にある**パッケージ**リンクをクリックすれば見つかります。 {% ifversion fpt or ghec %}詳しい情報については「[リポジトリのパッケージへの接続](/packages/learn-github-packages/connecting-a-repository-to-a-package)」を参照してください。{% endif %} -以下の{% data variables.product.prodname_registry %}レジストリは、リポジトリスコープの権限を使います。 +以下の{% data variables.product.prodname_registry %}レジストリは、リポジトリスコープの権限**のみ**を使います。 {% ifversion not fpt or ghec %}-Dockerレジストリ(`docker.pkg.github.com`){% endif %} - - npmレジストリ + {% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - RubyGemsレジストリ - Apache Mavenレジストリ - NuGetレジストリ +{% ifversion packages-npm-v2 %}{% data variables.product.prodname_ghcr_and_npm_registry %}については、パッケージがユーザ、Organizationをスコープとするか、あるいはリポジトリにリンクするかを選択できます。{% endif %} + {% ifversion fpt or ghec %} ## ユーザ/Organizationスコープのパッケージの詳細な権限 詳細な権限を持つパッケージは、個人ユーザもしくはOrganizationアカウントをスコープとします。 パッケージのアクセス制御と可視性は、パッケージに接続された(あるいはリンクされた)リポジトリは別個に変更できます。 -現在の処、{% data variables.product.prodname_container_registry %}だけがコンテナイメージパッケージに関する詳細な権限を提供しています。 +現在のところ、{% data variables.product.prodname_ghcr_and_npm_registry %}だけがコンテナイメージパッケージに関する詳細な権限を提供しています。 ## コンテナイメージの可視性とアクセス権限 diff --git a/translations/ja-JP/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/translations/ja-JP/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md index 7577c081f5..0624ca0bcb 100644 --- a/translations/ja-JP/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md +++ b/translations/ja-JP/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -16,7 +16,7 @@ shortTitle: アクセスコントロールと可視性 詳細な権限を持つパッケージは、個人ユーザもしくはOrganizationアカウントをスコープとします。 パッケージのアクセス制御と可視性は、パッケージに接続された(あるいはリンクされた)リポジトリは別個に変更できます。 -現在は、{% data variables.product.prodname_container_registry %}でのみ詳細な権限を使うことができます。 詳細な権限は、npmレジストリのような他のパッケージレジストリではサポートされていません。{% ifversion docker-ghcr-enterprise-migration %}{% data variables.product.prodname_container_registry %}への移行に関する詳しい情報については「[Dockerレジストリから{% data variables.product.prodname_container_registry %}への移行](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)」を参照してください。{% endif %} +現在は、{% data variables.product.prodname_ghcr_and_npm_registry %}でのみ詳細な権限を使うことができます。 詳細な権限は、RubyGemsレジストリのような他のパッケージレジストリではサポートされていません。{% ifversion docker-ghcr-enterprise-migration %}{% data variables.product.prodname_container_registry %}への移行に関する詳しい情報については「[Dockerレジストリから{% data variables.product.prodname_container_registry %}への移行](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)」を参照してください。{% endif %} リポジトリをスコープとするパッケージの権限や、PATに関するパッケージ関連のスコープ、Actionsのワークフローの権限の管理についての詳しい情報は、「[GitHub Packagesの権限について](/packages/learn-github-packages/about-permissions-for-github-packages)」を参照してください。 @@ -95,7 +95,7 @@ Organization が所有するコンテナイメージに対する管理者権限 {% ifversion fpt or ghec %} ## パッケージへの{% data variables.product.prodname_codespaces %}アクセスの確保 -デフォルトでは、codespaceは**Inherit access(アクセスの継承)**オプションが選択された同じリポジトリ内で公開されたパッケージなど、{% data variables.product.prodname_dotcom %} Container Registry内の特定パッケージにシームレスにアクセスできます。 自動的に設定されるアクセスに関する詳しい情報については「[{% data variables.product.prodname_dotcom %} Container Registryに保存されたイメージへのアクセス](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-github-container-registry)」を参照してください。 +デフォルトでは、codespaceは**Inherit access(アクセスの継承)**オプションが選択された同じリポジトリ内で公開されたパッケージなど、{% data variables.product.prodname_ghcr_and_npm_registry %} 内の特定パッケージにシームレスにアクセスできます。 自動的に設定されるアクセスに関する詳しい情報については「[codespaceへのプライベートイメージレジストリへのアクセスの許可](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-container-registry-and-npm-registry) 」を参照してください。 あるいは、codespaceがパッケージに確実にアクセスできるようにするには、codespaceが起動されたリポジトリへのアクセスを許可しなければなりません。 diff --git a/translations/ja-JP/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/translations/ja-JP/content/packages/learn-github-packages/deleting-and-restoring-a-package.md index 2290c045b1..75b849f90e 100644 --- a/translations/ja-JP/content/packages/learn-github-packages/deleting-and-restoring-a-package.md +++ b/translations/ja-JP/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -23,12 +23,12 @@ shortTitle: パッケージの削除と復元 - プライベートパッケージ全体 - パッケージの全バージョンでダウンロード数が5000以下の場合、パブリックパッケージ全体 - プライベートパッケージの特定のバージョン -- パッケージバージョンのダウンロード数が5000以下の場合、パブリックパッケージの特定のバージョン +- パッケージバージョンのダウンロード数が5,000以下の場合、パブリックパッケージの特定のバージョン {% note %} **注釈:** -- パッケージのいずれかのパージョンでダウンロード数が5000を超えている場合は、パブリックパッケージを削除できません。 この場合は、[GitHubサポート](https://support.github.com/contact?tags=docs-packages)までお問い合わせください。 +- パッケージのいずれかのパージョンでダウンロード数が5,000を超えている場合は、パブリックパッケージを削除できません。 この場合は、[GitHubサポート](https://support.github.com/contact?tags=docs-packages)までお問い合わせください。 - パブリックパッケージを削除する場合、そのパッケージに依存するプロジェクトを破壊する可能性があることに注意してください。 {% endnote %} @@ -46,7 +46,7 @@ REST APIを使用してパッケージを管理できます。 詳しい情報 {% endif %} -権限とアクセスをリポジトリから継承するパッケージでは、GraphQLを使って特定のパッケージバージョンを削除できます。{% ifversion fpt or ghec %}{% data variables.product.prodname_registry %}GraphQL APIは、パッケージの名前空間`https://ghcr.io/OWNER/PACKAGE-NAME`を使うコンテナあるいはDockerイメージをサポートしません。{% endif %}GraphQLサポートに関する詳しい情報については「[GraphQLでリポジトリをスコープとするパッケージのバージョンを削除する](#deleting-a-version-of-a-repository-scoped-package-with-graphql)」を参照してください。 +権限とアクセスをリポジトリから継承するパッケージでは、GraphQLを使って特定のパッケージバージョンを削除できます。{% data reusables.package_registry.no-graphql-to-delete-packages %}GraphQLサポートに関する詳しい情報については「[GraphQLでリポジトリをスコープとするパッケージのバージョンを削除する](#deleting-a-version-of-a-repository-scoped-package-with-graphql)」を参照してください。 {% endif %} @@ -54,17 +54,19 @@ REST APIを使用してパッケージを管理できます。 詳しい情報 リポジトリからアクセス権限を継承しているパッケージの場合、そのリポジトリに対する管理者権限がある場合はパッケージを削除できます。 -{% data variables.product.prodname_registry %}上でリポジトリのスコープが付いたパッケージには、以下が挙げられます。 -- npm -- RubyGems -- maven -- Gradle -- NuGet -{% ifversion not fpt or ghec %}-`docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`にあるDockerイメージ{% endif %} +以下の{% data variables.product.prodname_registry %}レジストリは、リポジトリスコープの権限**のみ**を使います。 + + {% ifversion not fpt or ghec %}-`docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`にあるDockerイメージ{% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm{% endif %} + - RubyGemsレジストリ + - Apache Mavenレジストリ + - NuGetレジストリ + +{% ifversion packages-npm-v2 %}{% data variables.product.prodname_ghcr_and_npm_registry %}については、パッケージがユーザ、Organizationをスコープとするか、あるいはリポジトリにリンクするかを選択できます。{% endif %} {% ifversion fpt or ghec %} -`https://ghcr.io/OWNER/PACKAGE-NAME`に保存されたコンテナイメージなど、リポジトリとは別に詳細な権限を持つパッケージを削除する場合は、そのパッケージに対するアクセス権限が必要です。 詳しい情報については「[{% data variables.product.prodname_registry %}の権限について](/packages/learn-github-packages/about-permissions-for-github-packages)」を参照してください。 +`https://ghcr.io/OWNER/PACKAGE-NAME`あるいは`https://npm.pkg.github.com/OWNER/PACKAGE-NAME`に保存されたコンテナイメージなど、リポジトリとは別に詳細な権限を持つパッケージを削除する場合は、そのパッケージに対するアクセス権限が必要です。 詳しい情報については「[{% data variables.product.prodname_registry %}の権限について](/packages/learn-github-packages/about-permissions-for-github-packages)」を参照してください。 {% endif %} @@ -86,9 +88,7 @@ REST APIを使用してパッケージを管理できます。 詳しい情報 リポジトリから権限とアクセスを継承しているパッケージの場合、GraphQLを使用して特定のパッケージバージョンを削除できます。 -{% ifversion fpt or ghec %} -`ghcr.io`にあるコンテナあるいはDockerイメージについては、GraphQLはサポートされていませんがREST APIが使えます。 詳しい情報については、「[{% data variables.product.prodname_registry %} API](/rest/reference/packages)」を参照してください。 -{% endif %} +{% data reusables.package_registry.no-graphql-to-delete-packages %}{% ifversion fpt or ghec %}ただし、REST APIを使うことはできます。 詳しい情報については「[{% data variables.product.prodname_registry %} API](/rest/reference/packages)」を参照してください。{% endif %} GraphQL APIの`deletePackageVersion`ミューテーションを使ってください。 `read:packages`、`delete:packages`、`repo`スコープを持つトークンを使わなければなりません。 トークンに関する詳しい情報については「[{% data variables.product.prodname_registry %}について](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)」を参照してください。 diff --git a/translations/ja-JP/content/packages/learn-github-packages/introduction-to-github-packages.md b/translations/ja-JP/content/packages/learn-github-packages/introduction-to-github-packages.md index fc5090006e..5450ffcff9 100644 --- a/translations/ja-JP/content/packages/learn-github-packages/introduction-to-github-packages.md +++ b/translations/ja-JP/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -51,7 +51,7 @@ For more information about the configuration of {% data variables.product.prodna | | | |--------------------|--------------------| -| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | | Visibility | {% data reusables.package_registry.public-or-private-packages %} | For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." @@ -101,7 +101,9 @@ For more information about Docker and the {% data variables.product.prodname_con ## Managing packages {% ifversion fpt or ghec %} -You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." +You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% data reusables.package_registry.no-graphql-to-delete-packages %} {% endif %} {% ifversion ghes %} @@ -112,7 +114,9 @@ You can delete a private or public package in the {% data variables.product.prod You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. + +For more information, see {% ifversion ghes or ghae %}"[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and {% endif %}"[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." diff --git a/translations/ja-JP/content/packages/learn-github-packages/viewing-packages.md b/translations/ja-JP/content/packages/learn-github-packages/viewing-packages.md index cfb53cbd2b..4e9f2d9ac4 100644 --- a/translations/ja-JP/content/packages/learn-github-packages/viewing-packages.md +++ b/translations/ja-JP/content/packages/learn-github-packages/viewing-packages.md @@ -23,15 +23,15 @@ versions: パッケージを見ることができるかどうかは、いくつかの要素に依存します。 デフォルトでは、公開したパッケージはすべて見ることができます。 -リポジトリをスコープとするパッケージは、そのパッケージを所有するリポジトリから権限と可視性を継承します。 以下のレジストリは、この種の権限を使用します。{% ifversion not fpt or ghec %} +リポジトリをスコープとするパッケージは、そのパッケージを所有するリポジトリから権限と可視性を継承します。 以下のレジストリは、この種類の権限**のみ**を利用します:{% ifversion not fpt or ghec %} - Dockerレジストリ (`docker.pkg.github.com`){% endif %} -- npmレジストリ +{% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - RubyGemsレジストリ - Apache Mavenレジストリ - NuGetレジストリ {% ifversion fpt or ghec %} -コンテナレジストリは、個人ユーザもしくはOrganizationアカウントが所有する各パッケージごとにカスタマイズできる、詳細な権限及び可視性の設定のオプションを提供します。 詳細な権限を利用することも、パッケージをレジストリに接続してその権限を継承することもできます。 詳しい情報については「[リポジトリのパッケージへの接続](/packages/learn-github-packages/connecting-a-repository-to-a-package)」を参照してください。 +{% data variables.product.prodname_ghcr_and_npm_registry %}は、個人ユーザもしくはOrganizationアカウントが所有する各パッケージごとにカスタマイズできる、詳細な権限及び可視性の設定のオプションを提供します。 詳細な権限を利用することも、パッケージをレジストリに接続してその権限を継承することもできます。 詳しい情報については「[リポジトリのパッケージへの接続](/packages/learn-github-packages/connecting-a-repository-to-a-package)」を参照してください。 {% endif %} 詳しい情報については「[GitHub Packagesの権限について](/packages/learn-github-packages/about-permissions-for-github-packages)」{% ifversion fpt or ghec %}及び「[パッケージのアクセス制御と可視性の設定](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)」{% endif %}を参照してください。 diff --git a/translations/ja-JP/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/translations/ja-JP/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md index abf40d8435..6b3f8fc7cd 100644 --- a/translations/ja-JP/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md +++ b/translations/ja-JP/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -24,9 +24,9 @@ shortTitle: Publish & install with Actions You can extend the CI and CD capabilities of your repository by publishing or installing packages as part of your workflow. {% ifversion fpt or ghec %} -### Authenticating to the {% data variables.product.prodname_container_registry %} +### Authenticating to the {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} {% endif %} @@ -40,7 +40,7 @@ You can reference the `GITHUB_TOKEN` in your workflow file using the {% raw %}`{ {% note %} -**Note:** Repository-owned packages include RubyGems, npm, Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle. {% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`.{% endif %} +**Note:** Some registries, such as RubyGems, {% ifversion packages-npm-v2 %}{% else %}npm, {% endif %}Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle{% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`{% endif %}, only allow repository-owned packages. With {% data variables.product.prodname_ghcr_and_npm_registry_full %} you can choose to allow packages to be owned by a user, an organization, or linked to a repository. {% endnote %} @@ -49,11 +49,11 @@ When you enable GitHub Actions, GitHub installs a GitHub App on your repository. {% data variables.product.prodname_registry %} allows you to push and pull packages through the `GITHUB_TOKEN` available to a {% data variables.product.prodname_actions %} workflow. {% ifversion fpt or ghec %} -## About permissions and package access for {% data variables.product.prodname_container_registry %} +## About permissions and package access for {% data variables.product.prodname_ghcr_and_npm_registry %} -The {% data variables.product.prodname_container_registry %} (`ghcr.io`) allows users to create and administer containers as free-standing resources at the organization level. Containers can be owned by an organization or personal account and you can customize access to each of your containers separately from repository permissions. +The {% data variables.product.prodname_ghcr_and_npm_registry_full %} allows users to create and administer packages as free-standing resources at the organization level. Packages can be owned by an organization or personal account and you can customize access to each of your packages separately from repository permissions. -All workflows accessing the {% data variables.product.prodname_container_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." +All workflows accessing the {% data variables.product.prodname_ghcr_and_npm_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." ## Default permissions and access settings for containers modified through workflows @@ -484,9 +484,9 @@ Installing packages hosted by {% data variables.product.prodname_registry %} thr {% data reusables.package_registry.actions-configuration %} {% ifversion fpt or ghec %} -## Upgrading a workflow that accesses `ghcr.io` +## Upgrading a workflow that accesses a registry using a PAT -The {% data variables.product.prodname_container_registry %} supports the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to `ghcr.io`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. +The {% data variables.product.prodname_ghcr_and_npm_registry %} support the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to the registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." @@ -504,9 +504,9 @@ Using the `GITHUB_TOKEN` instead of a PAT, which includes the `repo` scope, incr {% endnote %} 1. Optionally, using the "role" drop-down menu, select the default access level that you'd like the repository to have to your container image. ![Permission access levels to give to repositories](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) -1. Open your workflow file. On the line where you log in to `ghcr.io`, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. +1. Open your workflow file. On the line where you log in to the registry, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. -For example, this workflow publishes a Docker image using {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. +For example, this workflow publishes a Docker image to the {% data variables.product.prodname_container_registry %} and uses {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. ```yaml{:copy} name: Demo Push diff --git a/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md index 02708a404d..98ac905c0a 100644 --- a/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md +++ b/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -42,7 +42,9 @@ When installing or publishing a Docker image, the {% data variables.product.prod ## Authenticating to the {% data variables.product.prodname_container_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% ifversion fpt or ghec or ghes > 3.4 %} +To authenticate to the {% data variables.product.prodname_container_registry %} (`ghcr.io`) within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. {% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} +{% endif %} {% ifversion ghes %}Ensure that you replace `HOSTNAME` with {% data variables.product.product_location_enterprise %} hostname or IP address in the examples below.{% endif %} diff --git a/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 6714384e4d..8007cd2b6f 100644 --- a/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -21,6 +21,8 @@ shortTitle: npm registry {% data reusables.package_registry.admins-can-configure-package-types %} +{% ifversion packages-npm-v2 %} +{% else %} ## Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. @@ -28,12 +30,17 @@ If you publish over 1,000 npm package versions to {% data variables.product.prod In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +{% endif %} ## Authenticating to {% data variables.product.prodname_registry %} {% data reusables.package_registry.authenticate-packages %} -{% data reusables.package_registry.authenticate-packages-github-token %} +{% ifversion packages-npm-v2 %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +You can also choose to give access permissions to packages independently for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_actions %}. For more information, see "[Ensuring Codespaces access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package) and [Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." +{% endif %} ### Authenticating with a personal access token @@ -94,12 +101,24 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} -By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. You can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. +{% ifversion packages-npm-v2 %} +The {% data variables.product.prodname_registry %} registry stores npm packages within your organization or personal account, and allows you to associate a package with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. +{% endif %} + +By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." +{% ifversion fpt or ghec %} +When a package is published, it isn't automatically linked to a repository. You can however choose to link your published package to a repository using the user interface or command line. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + You can set up the scope mapping for your project using either a local *.npmrc* file in the project or using the `publishConfig` option in the *package.json*. {% data variables.product.prodname_registry %} only supports scoped npm packages. Scoped packages have names with the format of `@owner/name`. Scoped packages always begin with an `@` symbol. You may need to update the name in your *package.json* to use the scoped name. For example, `"name": "@codertocat/hello-world-npm"`. +{% ifversion packages-npm-v2 %} +When you first publish a package, the default visibility is private. When a package is linked to repository, the package visibility is dependent on the repository's visibility. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." +{% endif %} + {% data reusables.package_registry.viewing-packages %} ### Publishing a package using a local *.npmrc* file diff --git a/translations/ja-JP/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/translations/ja-JP/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index a5c0f73d4c..faead37ea4 100644 --- a/translations/ja-JP/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/translations/ja-JP/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -46,7 +46,7 @@ DNS レコードの設定が正しいかどうかを検証するために利用 {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} 4. "Custom domain(カスタムドメイン)" の下で、カスタムドメインを入力して**Save(保存)**をクリックします。 サイトをブランチから公開しているなら、これで`CNAME`ファイルをソースブランチのルートに追加するコミットが作成されます。 サイトをカスタムの{% data variables.product.prodname_actions %}ワークフローで公開しているなら、`CNAME`ファイルは作成されません。 公開ソースに関する詳しい情報については「[GitHub Pagesサイトの公開ソースの設定](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)」を参照してください。 ![カスタムドメインの保存ボタン](/assets/images/help/pages/save-custom-subdomain.png) -5. お使いの DNS プロバイダにアクセスし、サブドメインがサイトのデフォルトドメインを指す `CNAME` レコードを作成します。 たとえば、サイトで `www.example.com` というサブドメインを使いたい場合、`www.example.com` が `.github.io` を指す`CNAME` レコードを作成します。 Organization サイトで `www.anotherexample.com` というサブドメインを使用する場合、`www.anotherexample.com` が `.github.io` を指す`CNAME` レコードを作成します。 `CNAME` レコードは、リポジトリ名を除いて、常に`.github.io` または `.github.io` を指している必要があります。 {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} +5. お使いの DNS プロバイダにアクセスし、サブドメインがサイトのデフォルトドメインを指す `CNAME` レコードを作成します。 たとえば、サイトで `www.example.com` というサブドメインを使いたい場合、`www.example.com` が `.github.io` を指す`CNAME` レコードを作成します。 Organization サイトで `another.example.com` というサブドメインを使用する場合、`another.example.com` が `.github.io` を指す`CNAME` レコードを作成します。 `CNAME` レコードは、リポジトリ名を除いて、常に`.github.io` または `.github.io` を指している必要があります。 {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} {% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} {% data reusables.command_line.open_the_multi_os_terminal %} diff --git a/translations/ja-JP/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md b/translations/ja-JP/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md deleted file mode 100644 index af19845c4e..0000000000 --- a/translations/ja-JP/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Adding a theme to your GitHub Pages site with the theme chooser -intro: 'You can add a theme to your {% data variables.product.prodname_pages %} site to customize your site’s look and feel.' -redirect_from: - - /articles/creating-a-github-pages-site-with-the-jekyll-theme-chooser - - /articles/adding-a-jekyll-theme-to-your-github-pages-site-with-the-jekyll-theme-chooser - - /articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser - - /github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser -product: '{% data reusables.gated-features.pages %}' -versions: - fpt: '*' - ghec: '*' -topics: - - Pages -shortTitle: Add theme to a Pages site -permissions: People with admin permissions for a repository can use the theme chooser to add a theme to a {% data variables.product.prodname_pages %} site. ---- - -## About the theme chooser - -{% ifversion pages-custom-workflow %} - -{% note %} - -**Note**: The Jekyll theme chooser is not supported for {% data variables.product.prodname_pages %} sites that are published with a custom {% data variables.product.prodname_actions %} workflow. If you build your site with Jekyll and publish your site with a custom {% data variables.product.prodname_actions %} workflow, you can add a theme by editing the `_config.yml` file. For more information, see "[Adding a theme to your GitHub Pages site using Jekyll](/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll)." - -{% endnote %} - -{% endif %} - -The theme chooser adds a Jekyll theme to your repository. For more information about Jekyll, see "[About {% data variables.product.prodname_pages %} and Jekyll](/articles/about-github-pages-and-jekyll)." - -How the theme chooser works depends on whether your repository is public or private. - - If {% data variables.product.prodname_pages %} is already enabled for your repository, the theme chooser will add your theme to the current publishing source. - - If your repository is public and {% data variables.product.prodname_pages %} is disabled for your repository, using the theme chooser will enable {% data variables.product.prodname_pages %} and configure the default branch as your publishing source. - - If your repository is private and {% data variables.product.prodname_pages %} is disabled for your repository, you must enable {% data variables.product.prodname_pages %} by configuring a publishing source before you can use the theme chooser. - -For more information about publishing sources, see "[About {% data variables.product.prodname_pages %}](/articles/about-github-pages#publishing-sources-for-github-pages-sites)." - -If you manually added a Jekyll theme to your repository in the past, those files may be applied even after you use the theme chooser. To avoid conflicts, remove all manually added theme folders and files before using the theme chooser. For more information, see "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)." - -## Adding a theme with the theme chooser - -{% data reusables.pages.navigate-site-repo %} -{% data reusables.repositories.sidebar-settings %} -{% data reusables.pages.sidebar-pages %} -3. Under "{% data variables.product.prodname_pages %}," click **Choose a theme** or **Change theme**. - ![Choose a theme button](/assets/images/help/pages/choose-a-theme.png) -4. On the top of the page, click the theme you want, then click **Select theme**. - ![Theme options and Select theme button](/assets/images/help/pages/select-theme.png) -5. You may be prompted to edit your site's *README.md* file. - - To edit the file later, click **Cancel**. - ![Cancel link when editing a file](/assets/images/help/pages/cancel-edit.png) - - To edit the file now, see "[Editing files](/repositories/working-with-files/managing-files/editing-files)." - -Your chosen theme will automatically apply to markdown files in your repository. To apply your theme to HTML files in your repository, you need to add YAML front matter that specifies a layout to each file. For more information, see "[Front Matter](https://jekyllrb.com/docs/front-matter/)" on the Jekyll site. - -## Further reading - -- [Themes](https://jekyllrb.com/docs/themes/) on the Jekyll site diff --git a/translations/ja-JP/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/translations/ja-JP/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md index 4c79409386..0edee4e672 100644 --- a/translations/ja-JP/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md +++ b/translations/ja-JP/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -59,9 +59,9 @@ shortTitle: GitHub Pagesのサイトの作成 新しいファイルを追加で作成することにより、ページを追加できます。 各ファイルは、公開元と同じディレクトリ構造で、サイト上に表示されます。 たとえば、プロジェクトサイトの公開元が `gh-pages` ブランチで、新しいファイル `/about/contact-us.md` を `gh-pages` ブランチに作成した場合、ファイルは {% ifversion fpt or ghec %}`https://.github.io//{% else %}`http(s):///pages///{% endif %}about/contact-us.html` で表示されます。 -また、サイトの見た目をカスタマイズするため、テーマを追加できます。 詳しい情報については、{% ifversion fpt or ghec %}「[テーマ選択画面で {% data variables.product.prodname_pages %} サイトにテーマを追加する](/articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser){% else %}「[Jekyll テーマ選択画面で {% data variables.product.prodname_pages %} サイトにテーマを追加する](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll){% endif %}」を参照してください。 +また、サイトの見た目をカスタマイズするため、テーマを追加できます。 詳しい情報については、「[Jekyll を使用して {% data variables.product.prodname_pages %} サイトにテーマを追加する](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)」を参照してください。 -サイトを更にカスタマイズするには、Jekyll を使用できます。Jekyll は、{% data variables.product.prodname_pages %} に組み込まれている静的サイトジェネレータです。 詳しい情報については、「[{% data variables.product.prodname_pages %} と Jekyll](/articles/about-github-pages-and-jekyll)」を参照してください。 +サイトを更にカスタマイズするには、Jekyll を使用できます。Jekyll は、{% data variables.product.prodname_pages %} に組み込まれている静的サイトジェネレータです。 詳しい情報については、「[{% data variables.product.prodname_pages %} と Jekyllについて](/articles/about-github-pages-and-jekyll)」を参照してください。 ## 参考リンク diff --git a/translations/ja-JP/content/pages/getting-started-with-github-pages/index.md b/translations/ja-JP/content/pages/getting-started-with-github-pages/index.md index 1714b813ba..f748c506c8 100644 --- a/translations/ja-JP/content/pages/getting-started-with-github-pages/index.md +++ b/translations/ja-JP/content/pages/getting-started-with-github-pages/index.md @@ -17,7 +17,6 @@ topics: children: - /about-github-pages - /creating-a-github-pages-site - - /adding-a-theme-to-your-github-pages-site-with-the-theme-chooser - /configuring-a-publishing-source-for-your-github-pages-site - /changing-the-visibility-of-your-github-pages-site - /creating-a-custom-404-page-for-your-github-pages-site diff --git a/translations/ja-JP/content/pages/index.md b/translations/ja-JP/content/pages/index.md index b0bd3c3c8c..d84c347fd4 100644 --- a/translations/ja-JP/content/pages/index.md +++ b/translations/ja-JP/content/pages/index.md @@ -12,7 +12,6 @@ featuredLinks: - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site{% endif %}' - '{% ifversion ghes or ghae %}/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll{% endif %}' - '{% ifversion ghec %}/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site{% endif %}' - - '{% ifversion fpt %}/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser{% endif %}' - '{% ifversion ghes or ghae %}/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll{% endif %}' popular: - '{% ifversion fpt or ghec %}/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages{% endif %}' diff --git a/translations/ja-JP/content/pages/quickstart.md b/translations/ja-JP/content/pages/quickstart.md index 34ebe0cad1..7dc9af525b 100644 --- a/translations/ja-JP/content/pages/quickstart.md +++ b/translations/ja-JP/content/pages/quickstart.md @@ -26,11 +26,12 @@ product: '{% data reusables.gated-features.pages %}' 1. リポジトリ名として`username.github.io`を入力してください。 `username`を自分の{% data variables.product.prodname_dotcom %}ユーザ名で置き換えてください。 たとえば、ユーザ名が`octocat`なら、リポジトリ名は`octocat.github.io`となります。 ![リポジトリ名フィールド](/assets/images/help/pages/create-repository-name-pages.png) {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} -1. **Choose a theme(テーマの選択)**をクリックしてください。 ![[Choose a theme] ボタン](/assets/images/help/pages/choose-theme.png) -2. テーマ選択画面が開きます。 利用可能なテーマをブラウズし、**Select theme(テーマの選択)**をクリックしてテーマを選択してください。 後でテーマを変更することも容易なので、はっきりしない場合はとりあえずどれか1つを選択しておいてください。 ![テーマのオプションおよび [Select theme] ボタン](/assets/images/help/pages/select-theme.png) -3. テーマとを選択すると、ファイルエディタで`README.md`ファイルが開かれます。 `README.md`ファイルは、サイトの内容を書くところです。 このファイルを編集することも、あるいはとりあえずデフォルトの内容をそのままにしておくこともできます。 -4. ファイルの編集が終わったら、**Commit changes(変更をコミット)**をクリックしてください。 -5. `username.github.io`にアクセスして、新しいWebサイトを見てみてください。 **メモ:** サイトに対する変更は、その変更を{% data variables.product.product_name %}にプッシュしてから公開されるまでに、最大20分かかることがあります。 +1. "Build and deployment(ビルドとデプロイ)"の下の"Source(ソース)"の下で、**Deploy from a branch(ブランチからデプロイ)**を選択してください。 +1. "Build and deployment(ビルドとデプロイ)"の下の"Branch(ブランチ)"の下で、**None(無し)**もしくは**Branch(ブランチ)**ドロップダウンメニューを使って公開ソースを選択してください。 + + ![公開元を選択するドロップダウンメニュー](/assets/images/help/pages/publishing-source-drop-down.png) +1. あるいは、リポジトリの`README.md`ファイルを開いてください。 `README.md`ファイルは、サイトの内容を書くところです。 このファイルを編集することも、あるいはとりあえずデフォルトの内容をそのままにしておくこともできます。 +1. `username.github.io`にアクセスして、新しいWebサイトを見てみてください。 **メモ:** サイトに対する変更は、その変更を{% data variables.product.product_name %}にプッシュしてから公開されるまでに、最大10分かかることがあります。 ## タイトルと説明の変更 diff --git a/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md index 9491879d40..68434b0b94 100644 --- a/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md +++ b/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -75,9 +75,9 @@ You can add `site.github` to a post or page to add any repository references met {% data reusables.pages.add-jekyll-theme %} For more information, see "[Themes](https://jekyllrb.com/docs/themes/)" in the Jekyll documentation. {% ifversion fpt or ghec %} -You can add a supported theme to your site on {% data variables.product.prodname_dotcom %}. For more information, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and "[Adding a theme to your {% data variables.product.prodname_pages %} site with the theme chooser](/articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser)." +You can add a supported theme to your site on {% data variables.product.prodname_dotcom %}. For more information, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and [Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll"](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). -To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% ifversion fpt or ghec %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)." +To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% ifversion fpt or ghec %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". You can override any of your theme's defaults by editing the theme's files. For more information, see your theme's documentation and "[Overriding your theme's defaults](https://jekyllrb.com/docs/themes/#overriding-theme-defaults)" in the Jekyll documentation. @@ -96,7 +96,7 @@ You can download or create Jekyll plugins to extend the functionality of Jekyll - [`jekyll-titles-from-headings`](https://github.com/benbalter/jekyll-titles-from-headings) - [`jekyll-relative-links`](https://github.com/benbalter/jekyll-relative-links) -You can enable additional plugins by adding the plugin's gem to the `plugins` setting in your *_config.yml* file. For more information, see "[Configuration](https://jekyllrb.com/docs/configuration/)" in the Jekyll documentation. +You can enable additional plugins by adding the plugin's gem to the `plugins` setting in your *_config.yml* file. For more information, see "[Configuration](https://jekyllrb.com/docs/configuration/)" in the Jekyll documentation. For a list of supported plugins, see "[Dependency versions](https://pages.github.com/versions/)" on the {% data variables.product.prodname_pages %} site. For usage information for a specific plugin, see the plugin's documentation. diff --git a/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md b/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md index 9e84172aa2..8579be29e2 100644 --- a/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md +++ b/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md @@ -26,7 +26,7 @@ shortTitle: Jekyll build errors for Pages {% note %} -**Note:** It can take up to 20 minutes for changes to your site to publish after you push the changes to {% data variables.product.product_name %}. +**Note:** It can take up to 10 minutes for changes to your site to publish after you push the changes to {% data variables.product.product_name %}. {% endnote %} diff --git a/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md b/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md index ee88d5b4e1..ebc8c85eca 100644 --- a/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md +++ b/translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md @@ -6,6 +6,7 @@ redirect_from: - /articles/adding-a-jekyll-theme-to-your-github-pages-site - /articles/adding-a-theme-to-your-github-pages-site-using-jekyll - /github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-using-jekyll + - /pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser product: '{% data reusables.gated-features.pages %}' versions: fpt: '*' diff --git a/translations/ja-JP/content/rest/deployments/deployments.md b/translations/ja-JP/content/rest/deployments/deployments.md index 93f1e9d649..489e58df7e 100644 --- a/translations/ja-JP/content/rest/deployments/deployments.md +++ b/translations/ja-JP/content/rest/deployments/deployments.md @@ -19,7 +19,7 @@ miniTocMaxHeadingLevel: 3 デプロイメントのステータスには、オプションとして `description` と `log_url` を含めることもできます。これによりデプロイメントのステータスがより有用なものになるので、非常におすすめです。 `log_url` はデプロイメントの出力の完全な URL で、`description` はデプロイメントで発生したことの概要を示すものです。 -GitHub は、新しいデプロイメント、デプロイメントのステータスが作成されたときに、`deployment` イベント、`deployment_status` イベントをディスパッチします。 これらのイベントにより、サードパーティのインテグレーションがデプロイメントのリクエストに対する応答を受けとり、進展があるたびにステータスを更新できます。 +GitHub は、新しいデプロイメント、デプロイメントのステータスが作成されたときに、`deployment` イベント、`deployment_status` イベントをディスパッチします。 これらのイベントにより、サードパーティのインテグレーションがデプロイメントのリクエストに対する応答を受けとって反応し、進展があるたびにステータスを更新できます。 以下は、これらの相互作用がどのように機能するかを示す簡単なシーケンス図です。 diff --git a/translations/ja-JP/content/rest/guides/getting-started-with-the-checks-api.md b/translations/ja-JP/content/rest/guides/getting-started-with-the-checks-api.md index 11bea77321..3560fe71df 100644 --- a/translations/ja-JP/content/rest/guides/getting-started-with-the-checks-api.md +++ b/translations/ja-JP/content/rest/guides/getting-started-with-the-checks-api.md @@ -41,7 +41,7 @@ GitHub Appは、単に合格/不合格の二択ではない、情報量の多い ![チェック実行のワークフロー](/assets/images/check_runs.png) -チェック実行が15日以上にわたり不完全な状態である場合は、チェック実行の`conclusion`が`stale`になり、{% data variables.product.prodname_dotcom %}に状態が{% octicon "issue-reopened" aria-label="The issue-reopened icon" %}と表示されます。 {% data variables.product.prodname_dotcom %}のみが、チェック実行を`stale`としてマークできます。 チェック実行で出る可能性がある結果についての詳細は、 [`conclusion`パラメータ](/rest/reference/checks#create-a-check-run--parameters)を参照してください。 +If a check run is in an incomplete state for more than 14 days, then the check run's `conclusion` becomes `stale` and appears on {% data variables.product.prodname_dotcom %} as stale with {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. {% data variables.product.prodname_dotcom %}のみが、チェック実行を`stale`としてマークできます。 チェック実行で出る可能性がある結果についての詳細は、 [`conclusion`パラメータ](/rest/reference/checks#create-a-check-run--parameters)を参照してください。 [`check_suite`](/webhooks/event-payloads/#check_suite) webhookを受け取ったら、チェックが完了していなくてもすぐにチェック実行を作成できます。 チェック実行の`status`は、`queued`、`in_progress`、または`completed`の値で更新でき、より詳細を明らかにして`output`を更新できます。 チェック実行にはタイムスタンプ、詳細情報が記載された外部サイトへのリンク、コードの特定の行に対するアノテーション、および実行した分析についての情報を含めることができます。 diff --git a/translations/ja-JP/content/rest/guides/getting-started-with-the-rest-api.md b/translations/ja-JP/content/rest/guides/getting-started-with-the-rest-api.md index e4f9dfe075..dd9545f30b 100644 --- a/translations/ja-JP/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/ja-JP/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: Getting started with the REST API -intro: 'Learn the foundations for using the REST API, starting with authentication and some endpoint examples.' -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Learn how to use the {% data variables.product.prodname_dotcom %} REST API.' versions: fpt: '*' ghes: '*' @@ -11,477 +8,754 @@ versions: ghec: '*' topics: - API -shortTitle: Get started - REST API +shortTitle: Using the API +miniTocMaxHeadingLevel: 3 --- +## About the {% data variables.product.prodname_dotcom %} REST API -Let's walk through core API concepts as we tackle some everyday use cases. +This article describes how to use the {% data variables.product.prodname_dotcom %} REST API using {% data variables.product.prodname_cli %}, JavaScript, or cURL. For a quickstart guide, see "[Quickstart for GitHub REST API](/rest/quickstart)." -{% data reusables.rest-api.dotcom-only-guide-note %} +When you make a request to the REST API, you will specify an HTTP method and a path. Additionally, you might also specify request headers and path, query, or body parameters. The API will return the response status code, response headers, and potentially a response body. -## Overview +The REST API reference documentation describes the HTTP method, path, and parameters for every operation. It also displays example requests and responses for each operation. For more information, see the [REST reference documentation](/rest). -Most applications will use an existing [wrapper library][wrappers] in the language -of your choice, but it's important to familiarize yourself with the underlying API -HTTP methods first. +## Making a request -There's no easier way to kick the tires than through [cURL][curl].{% ifversion fpt or ghec %} If you are using -an alternative client, note that you are required to send a valid -[User Agent header](/rest/overview/resources-in-the-rest-api#user-agent-required) in your request.{% endif %} +To make a request, first find the HTTP method and the path for the operation that you want to use. For example, the "Get Octocat" operation uses the `GET` method and the `/octocat` path. For the full reference documentation for this operation, see "[Get Octocat](/rest/meta#get-octocat)." -### Hello World +{% cli %} -Let's start by testing our setup. Open up a command prompt and enter the -following command: +{% note %} + +**Note**: You must install {% data variables.product.prodname_cli %} in order to use the commands in the {% data variables.product.prodname_cli %} examples. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). + +{% endnote %} + +If you are not already authenticated to {% data variables.product.prodname_cli %}, you must use the `gh auth login` subcommand to authenticate before making any requests. For more information, see "[Authenticating](#authenticating)." + +To make a request using {% data variables.product.prodname_cli %}, use the `api` subcommand along with the path. Use the `--method` or `-X` flag to specify the method. ```shell -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -The response will be a random selection from our design philosophies. +{% endcli %} -Next, let's `GET` [Chris Wanstrath's][defunkt github] [GitHub profile][users api]: +{% javascript %} + +{% note %} + +**Note**: You must install and import `octokit` in order to use the Octokit.js library used in the JavaScript examples. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +To make a request using JavaScript, you can use Octokit.js. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +First, create an instance of `Octokit`.{% ifversion ghes or ghae %} Set the base URL to `{% data variables.product.api_url_code %}`. Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +Then, use the `request` method to make requests. Pass the HTTP method and path as the first argument. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `{% data variables.product.api_url_code %}`, to the path to get the full URL: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +Use the `curl` command in your command line. Use the `--request` or `-X` flag followed by the HTTP method. Use the `--url` flag followed by the full URL. ```shell -# GET /users/defunkt -$ curl https://api.github.com/users/defunkt - -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> ... -> } +curl --request GET \ +--url "https://api.github.com/octocat" ``` -Mmmmm, tastes like [JSON][json]. Let's add the `-i` flag to include headers: +{% note %} + +**Note**: If you get a message similar to "command not found: curl", you may need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Continue reading to learn how to authenticate, send parameters, and use the response. + +## Authenticating + +Many operations require authentication or return additional information if you are authenticated. Additionally, you can make more requests per hour when you are authenticated.{% cli %} Although some REST API operations are accessible without authentication, you must authenticate to {% data variables.product.prodname_cli %} in order to use the `api` subcommand.{% endcli %} + +### About tokens + +You can authenticate your request by adding a token. + +If you want to use the {% data variables.product.company_short %} REST API for personal use, you can create a personal access token (PAT). The REST API operations used in this article require `repo` scope for personal access tokens. Other operations may require different scopes. For more information about creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +If you want to use the API on behalf of an organization or another user, {% data variables.product.company_short %} recommends that you use a {% data variables.product.prodname_github_app %}. If an operation is available to {% data variables.product.prodname_github_apps %}, the REST reference documentation for that operation will say "Works with GitHub Apps." The REST API operations used in this article require `issues` read and write permissions for {% data variables.product.prodname_github_apps %}. Other operations may require different permissions. For more information, see "[Creating a GitHub App](/developers/apps/building-github-apps/creating-a-github-app)", "[Authenticating with GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps), and "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + +If you want to use the API in a {% data variables.product.prodname_actions %} workflow, {% data variables.product.company_short %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. You can grant permissions to the `GITHUB_TOKEN` with the `permissions` key. For more information, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)." + +### Authentication example + +{% cli %} + +With {% data variables.product.prodname_cli %}, you don't need to create an access token in advance. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}: ```shell -$ 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 ``` -There are a few interesting bits in the response headers. As expected, the -`Content-Type` is `application/json`. +You can use the `--scopes` flag to specify what scopes you want. If you want to authenticate with a token that you created, you can use the `--with-token` flag. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). -Any headers beginning with `X-` are custom headers, and are not included in the -HTTP spec. For example, take note of the `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers. This -pair of headers indicate [how many requests a client can make][rate-limiting] in -a rolling time period (typically an hour) and how many of those requests the -client has already spent. +{% endcli %} -## Authentication - -Unauthenticated clients can make 60 requests per hour. To get more requests per hour, we'll need to -_authenticate_. In fact, doing anything interesting with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API requires -[authentication][authentication]. - -### Using personal access tokens - -The easiest and best way to authenticate with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API is by using Basic Authentication [via OAuth tokens](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). OAuth tokens include [personal access tokens][personal token]. - -Use a `-u` flag to set your username: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -When prompted, you can enter your OAuth token, but we recommend you set up a variable for it: - -You can use `-u "your_username:$token"` and set up a variable for `token` to avoid leaving your token in shell history, which should be avoided. - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -When authenticating, you should see your rate limit bumped to 5,000 requests an hour, as indicated in the `X-RateLimit-Limit` header. In addition to providing more calls per hour, authentication enables you to read and write private information using the API. - -You can easily [create a **personal access token**][personal token] using your [Personal access tokens settings page][tokens settings]: +{% javascript %} {% warning %} -To help keep your information secure, we highly recommend setting an expiration for your personal access tokens. +**Warning**: Treat your access token like a password. + +To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +{% ifversion ghec or fpt %}You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. {% endwarning %} -{% ifversion fpt or ghes or ghec %} -![Personal Token selection](/assets/images/personal_token.png) +To authenticate with the Octokit.js library, you can pass your token when you create an instance of `Octokit`. Replace `YOUR-TOKEN` with your token.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +{% endjavascript %} + +{% curl %} + +{% warning %} + +**Warning**: Treat your access token like a password. + +To help keep your account secure, you can use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + +{% ifversion ghec or fpt %}You can also store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + +{% endwarning %} + +With cURL, you will send an `Authorization` header with your token. Replace `YOUR-TOKEN` with your token: + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% note %} + +**Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) will only work with `Authorization: Bearer`. + +{% endnote %} + +{% endcurl %} + +### Authentication example for {% data variables.product.prodname_actions %} + +{% cli %} + +You can also use the `run` keyword to execute {% data variables.product.prodname_cli %} commands in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +Instead of using the `gh auth login` command, pass your token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api /octocat +``` + +{% endcli %} + +{% javascript %} + +You can also use the `run` keyword to execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); + +await octokit.request("GET /octocat", {}); +``` + +Instead of storing your script in a separate file and executing the script from your workflow, you can use the `actions/github-script` action to run a script. For more information, see the [actions/github-script README](https://github.com/actions/github-script). + +```yaml +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + await github.request('GET /octocat', {}) +``` + +{% endjavascript %} + +{% curl %} + +You can also use the `run` keyword to execute cURL commands in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/octocat" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Using headers + +Most operations specify that you should pass an `Accept` header with a value of `application/vnd.github.v3+json`. Other operations may specify that you should send a different `Accept` header or additional headers. + +{% cli %} + +To send a header with {% data variables.product.prodname_cli %}, use the `--header` or `-H` flag followed by the header in `key: value` format. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +The Octokit.js library automatically passes the `Accept: application/vnd.github.v3+json` header. To pass additional headers or a different `Accept` header, add a `headers` property to the object that is passed as a second argument to the `request` method. The value of the `headers` property is an object with the header names as keys and header values as values. For example, to send a `content-type` header with a value of `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +To send a header with cURL, use the `--header` or `-H` flag followed by the header in `key: value` format. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +## Using path parameters + +Path parameters modify the operation path. For example, the "List repository issues" path is `/repos/{owner}/{repo}/issues`. The curly brackets `{}` denote path parameters that you need to specify. In this case, you must specify the repository owner and name. For the reference documentation for this operation, see "[List repository issues](/rest/issues/issues#list-repository-issues)." + +{% cli %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** In order for this command to work for {% data variables.product.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. Otherwise, rerun the `gh auth login` command to authenticate to {% data variables.product.prodname_dotcom_the_website %} instead of {% data variables.product.product_location %}. + +{% endnote %} {% endif %} -{% ifversion ghae %} -![Personal Token selection](/assets/images/help/personal_token_ghae.png) +To get issues from the `octocat/Spoon-Knife` repository, replace `{owner}` with `octocat` and `{repo}` with `Spoon-Knife`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** In order for this example to work for {% data variables.product.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. Otherwise, create a new `Octokit` instance and do not specify `baseURL`. + +{% endnote %} {% endif %} -API requests using an expiring personal access token will return that token's expiration date via the `GitHub-Authentication-Token-Expiration` header. You can use the header in your scripts to provide a warning message when the token is close to its expiration date. +When you make a request with Octokit.js, all parameters, including path parameters, are passed in an object as the second argument to the `request` method. To get issues from the `octocat/Spoon-Knife` repository, specify `owner` as `octocat` and `repo` as `Spoon-Knife`. -### Get your own user profile - -When properly authenticated, you can take advantage of the permissions -associated with your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. For example, try getting -[your own user profile][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 +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); ``` -This time, in addition to the same set of public information we -retrieved for [@defunkt][defunkt github] earlier, you should also see the non-public information for your user profile. For example, you'll see a `plan` object in the response which gives details about the {% data variables.product.product_name %} plan for the account. +{% endjavascript %} -### Using OAuth tokens for apps +{% curl %} -Apps that need to read or write private information using the API on behalf of another user should use [OAuth][oauth]. +To get issues from the `octocat/Spoon-Knife` repository, replace `{owner}` with `octocat` and `{repo}` with `Spoon-Knife`. To build the full path, prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. -OAuth uses _tokens_. Tokens provide two big features: +{% ifversion ghes or ghae %} +{% note %} -* **Revokable access**: users can revoke authorization to third party apps at any time -* **Limited access**: users can review the specific access that a token - will provide before authorizing a third party app +**Note:** If you want to use {% data variables.product.product_location %} instead of {% data variables.product.prodname_dotcom_the_website %}, use `{% data variables.product.api_url_code %}` instead of `https://api.github.com` and replace `[hostname]` with the name of {% data variables.product.product_location %}. Replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. -Tokens should be created via a [web flow][webflow]. An application -sends users to {% data variables.product.product_name %} to log in. {% data variables.product.product_name %} then presents a dialog -indicating the name of the app, as well as the level of access the app -has once it's authorized by the user. After a user authorizes access, {% data variables.product.product_name %} -redirects the user back to the application: - -![GitHub's OAuth Prompt](/assets/images/oauth_prompt.png) - -**Treat OAuth tokens like passwords!** Don't share them with other users or store -them in insecure places. The tokens in these examples are fake and the names have -been changed to protect the innocent. - -Now that we've got the hang of making authenticated calls, let's move along to -the [Repositories API][repos-api]. - -## Repositories - -Almost any meaningful use of the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API will involve some level of Repository -information. We can [`GET` repository details][get repo] in the same way we fetched user -details earlier: +{% endnote %} +{% endif %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -In the same way, we can [view repositories for the authenticated user][user repos api]: +{% endcurl %} + +The operation returns a list of issues and data about each issue. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using query parameters + +Query parameters allow you to control what data is returned for a request. For example, a query parameter may let you specify how many items are returned when the response is paginated. + +By default, the "List repository issues" operation returns thirty issues, sorted in descending order by the date they were created. You can use the `per_page` parameter to return two issues instead of 30. You can use the `sort` parameter to sort the issues by the date they were last updated instead of by the date they were created. You can use the `direction` parameter to sort the results in ascending order instead of descending order. + +{% cli %} + +For {% data variables.product.prodname_cli %}, use the `-F` flag to pass a parameter that is a number, Boolean, or null. Use `-f` to pass string parameters. + +{% note %} + +**Note**: {% data variables.product.prodname_cli %} does not currently accept parameters that are arrays. For more information, see [this issue](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -Or, we can [list repositories for another user][other user repos api]: +{% endcli %} + +{% javascript %} + +When you make a request with Octokit.js, all parameters, including query parameters, are passed in an object as the second argument to the `request` method. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +For cURL, add a `?` to the end of the path, then append your query parameter name and value in the form `parameter_name=value`. Separate multiple query parameters with `&`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -Or, we can [list repositories for an organization][org repos api]: +{% endcurl %} + +The operation returns a list of issues and data about each issue. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using body parameters + +Body parameters allow you to pass additional data to the API. For example, the "Create an issue" operation requires you to specify a title for the new issue. It also lets you specify other information, such as text to put in the issue body. For the full reference documentation for this operation, see "[Create an issue](/rest/issues/issues#create-an-issue)." + +The "Create an issue" operation uses the same path as the "List repository issues" operation in the examples above, but it uses a `POST` method instead of a `GET` method. + +{% cli %} + +For {% data variables.product.prodname_cli %}, use the `-F` flag to pass a parameter that is a number, Boolean, or null. Use `-f` to pass string parameters. + +{% note %} + +**Note**: {% data variables.product.prodname_cli %} does not currently accept parameters that are arrays. For more information, see [this issue](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -The information returned from these calls will depend on which scopes our token has when we authenticate: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* A token with `public_repo` [scope][scopes] returns a response that includes all public repositories we have access to see on {% data variables.product.product_location %}. -{%- endif %} -* A token with `repo` [scope][scopes] returns a response that includes all {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories we have access to see on {% data variables.product.product_location %}. +{% javascript %} -As the [docs][repos-api] indicate, these methods take a `type` parameter that -can filter the repositories returned based on what type of access the user has -for the repository. In this way, we can fetch only directly-owned repositories, -organization repositories, or repositories the user collaborates on via a team. +When you make a request with Octokit.js, all parameters, including body parameters, are passed in an object as the second argument to the `request` method. + +```javascript +await octokit.request("POST /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + title: "Created with the REST API", + body: "This is a test issue created by the REST API", +}); +``` + +{% endjavascript %} + +{% curl %} + +For cURL, use the `--data` flag to pass the body parameters in a JSON object. ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -In this example, we grab only those repositories that octocat owns, not the -ones on which she collaborates. Note the quoted URL above. Depending on your -shell setup, cURL sometimes requires a quoted URL or else it ignores the -query string. +{% endcurl %} -### Create a repository +The operation creates an issue and returns data about the new issue. In the response, find the `html_url` of your issue and navigate to your issue in the browser. For more information about using the response, see the "[Using the response](#using-the-response)" section. -Fetching information for existing repositories is a common use case, but the -{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API supports creating new repositories as well. To [create a repository][create repo], -we need to `POST` some JSON containing the details and configuration options. +## Using the response + +### About the response code and headers + +Every request will return an HTTP status code that indicates the success of the response. For more information about response codes, see [the MDN HTTP response status code documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Additionally, the response will include headers that give more details about the response. Headers that start with `X-` or `x-` are custom to {% data variables.product.company_short %}. For example, the `x-ratelimit-remaining` and `x-ratelimit-reset` headers tell you how many requests you can make in a time period. + +{% cli %} + +To view the status code and headers, use the `--include` or `--i` flag when you send your request. + +For example, this request: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -In this minimal example, we create a new private repository for our blog (to be served -on [GitHub Pages][pages], perhaps). Though the blog {% ifversion not ghae %}will be public{% else %}is accessible to all enterprise members{% endif %}, we've made the repository private. In this single step, we'll also initialize it with a README and a [nanoc][nanoc]-flavored [.gitignore template][gitignore templates]. - -The resulting repository will be found at `https://github.com//blog`. -To create a repository under an organization for which you're -an owner, just change the API method from `/user/repos` to `/orgs//repos`. - -Next, let's fetch our newly created repository: +returns the response code and headers like: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -Oh noes! Where did it go? Since we created the repository as _private_, we need -to authenticate in order to see it. If you're a grizzled HTTP user, you might -expect a `403` instead. Since we don't want to leak information about private -repositories, the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API returns a `404` in this case, as if to say "we can -neither confirm nor deny the existence of this repository." +In this example, the response code is `200`, which indicates a successful request. -## Issues +{% endcli %} -The UI for Issues on {% data variables.product.product_name %} aims to provide 'just enough' workflow while -staying out of your way. With the {% data variables.product.product_name %} [Issues API][issues-api], you can pull -data out or create issues from other tools to create a workflow that works for -your team. +{% javascript %} -Just like github.com, the API provides a few methods to view issues for the -authenticated user. To [see all your issues][get issues api], call `GET /issues`: +When you make a request with Octokit.js, the `request` method returns a promise. If the request was successful, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`headers`). If an error occurs, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`response.headers`). + +You can use a `try/catch` block to catch an error if it occurs. For example, if the request in the following script is successful, the script will log the status code and the value of the `x-ratelimit-remaining` header. If the request was not successful, the script will log the status code, the value of the `x-ratelimit-remaining` header, and the error message. + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + console.log(`Success! Status: ${result.status}. Rate limit remaining: ${result.headers["x-ratelimit-remaining"]}`) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Rate limit remaining: ${error.headers["x-ratelimit-remaining"]}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +To view the status code and headers, use the `--include` or `--i` flag when you send your request. + +For example, this request: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -To get only the [issues under one of your {% data variables.product.product_name %} organizations][get issues api], call `GET -/orgs//issues`: +returns the response code and headers like: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -We can also get [all the issues under a single repository][repo issues api]: +In this example, the response code is `200`, which indicates a successful request. + +{% endcurl %} + +### About the response body + +Many operations will return a response body. Unless otherwise specified, the response body is in JSON format. For example, this request returns a list of issues with data about each issue: + +{% cli %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -### Pagination +{% endcli %} -A project the size of Rails has thousands of issues. We'll need to [paginate][pagination], -making multiple API calls to get the data. Let's repeat that last call, this -time taking note of the response headers: +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -The [`Link` header][link-header] provides a way for a response to link to -external resources, in this case additional pages of data. Since our call found -more than thirty issues (the default page size), the API tells us where we can -find the next page and the last page of results. +{% endcurl %} -### Creating an issue +Unlike the GraphQL API where you specify what information you want, the REST API typically returns more information than you need. If desired, you can parse the response to pull out specific pieces of information. -Now that we've seen how to paginate lists of issues, let's [create an issue][create issue] from -the API. +{% cli %} -To create an issue, we need to be authenticated, so we'll pass an -OAuth token in the header. Also, we'll pass the title, body, and labels in the JSON -body to the `/issues` path underneath the repository in which we want to create -the issue: +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json ``` -The response gives us a couple of pointers to the newly created issue, both in -the `Location` response header and the `url` field of the JSON response. - -## Conditional requests - -A big part of being a good API citizen is respecting rate limits by caching information that hasn't changed. The API supports [conditional -requests][conditional-requests] and helps you do the right thing. Consider the -first call we made to get defunkt's profile: +Then you can use jq to get the title and author ID of each issue: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +jq '.[] | {title: .title, authorID: .user.id}' data.json ``` -In addition to the JSON body, take note of the HTTP status code of `200` and -the `ETag` header. -The [ETag][etag] is a fingerprint of the response. If we pass that on subsequent calls, -we can tell the API to give us the resource again, only if it has changed: +The previous two commands return something like: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +For example, you can get the title and author ID of each issue: + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json ``` -The `304` status indicates that the resource hasn't changed since the last time -we asked for it and the response will contain no body. As a bonus, `304` responses don't count against your [rate limit][rate-limiting]. +Then you can use jq to get the title and author ID of each issue: -Now you know the basics of the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API! +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` -* Basic & OAuth authentication -* Fetching and creating repositories and issues -* Conditional requests +The previous two commands return something like: -Keep learning with the next API guide [Basics of Authentication][auth guide]! +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[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 +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcurl %} + +## Next steps + +This article demonstrated how to list and create issues in a repository. For more practice, try to comment on an issue, edit the title of an issue, or close an issue. For more information about these operations, see "[Create an issue comment](/rest/issues#create-an-issue-comment)" and "[Update an issue](/rest/issues/issues#update-an-issue)." + +For more information about the operations that you can use, see the [REST reference documentation](/rest). diff --git a/translations/ja-JP/content/rest/index.md b/translations/ja-JP/content/rest/index.md index d33d08bdc6..fa25d957c1 100644 --- a/translations/ja-JP/content/rest/index.md +++ b/translations/ja-JP/content/rest/index.md @@ -3,7 +3,8 @@ title: GitHubのREST API shortTitle: REST API intro: 'インテグレーションを作成し、データを取り出し、ワークフローを自動化するために、{% data variables.product.prodname_dotcom %}のREST APIで構築してください。' introLinks: - quickstart: /rest/guides/getting-started-with-the-rest-api + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api featuredLinks: guides: - /rest/guides/getting-started-with-the-rest-api @@ -31,6 +32,7 @@ versions: ghae: '*' ghec: '*' children: + - /quickstart - /overview - /guides - /actions diff --git a/translations/ja-JP/content/rest/quickstart.md b/translations/ja-JP/content/rest/quickstart.md new file mode 100644 index 0000000000..b8bf64cd32 --- /dev/null +++ b/translations/ja-JP/content/rest/quickstart.md @@ -0,0 +1,351 @@ +--- +title: Quickstart for GitHub REST API +intro: 'Learn how to get started with the {% data variables.product.prodname_dotcom %} REST API.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: Quickstart +topics: + - API +redirect_from: + - /guides/getting-started + - /v3/guides/getting-started +miniTocMaxHeadingLevel: 3 +--- + +This article describes how to quickly get started with the {% data variables.product.prodname_dotcom %} REST API using {% data variables.product.prodname_cli %}, JavaScript, or cURL. For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." + +{% cli %} + +## Getting started using {% data variables.product.prodname_cli %} + +### Using {% data variables.product.prodname_cli %} in the command line + +{% data variables.product.prodname_cli %} is the easiest way to use the {% data variables.product.prodname_dotcom %} REST API from the command line. + +1. Install {% data variables.product.prodname_cli %} if you haven't installed it yet. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). +1. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Use the `api` subcommand to make your API request. For more information, see the [{% data variables.product.prodname_cli %} `api` documentation](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Using {% data variables.product.prodname_cli %} in {% data variables.product.prodname_actions %} + +You can also use {% data variables.product.prodname_cli %} in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Using GitHub CLI in workflows](/actions/using-workflows/using-github-cli-in-workflows)." + +Instead of using the `gh auth login` command, pass an access token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. You can find your app ID on the settings page for your app or through the App API. For more information, see "[Apps](/rest/apps/apps#get-an-app)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)." +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. For example: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +## Getting started using JavaScript + +You can use Octokit.js to interact with the {% data variables.product.prodname_dotcom %} REST API in your JavaScript scripts. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +### Using Octokit.js + +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see the "[Using Octokit.js in {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)" section. + + {%- ifversion fpt or ghec %} + + You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Install `octokit`. For example, `npm install octokit`. For other ways to install or load `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Import `octokit` in your script. For example, `import { Octokit } from "octokit";`. For other ways to import `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Create an instance of `Octokit` with your token. Replace `YOUR-TOKEN` with your token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Use `octokit.request` to execute your request. Send the HTTP method and path as the first argument. Specify any path, query, and body parameters in an object as the second argument. For example, in the following request the HTTP method is `GET`, the path is `/repos/{owner}/{repo}/issues`, and the parameters are `owner: "octocat"` and `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Using Octokit.js in {% data variables.product.prodname_actions %} + +You can also execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit" + +const octokit = new Octokit({ + auth: process.env.TOKEN +}); + +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. You can find your app ID on the settings page for your app or through the App API. For more information, see "[Apps](/rest/apps/apps#get-an-app)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)." +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. For example: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Getting started using cURL + +### Using cURL in the command line + +{% note %} + +**Note:** If you want to make API requests from the command line, {% data variables.product.prodname_dotcom %} recommends that you use {% data variables.product.prodname_cli %}, which simplifies authentication and requests. For more information about getting started with the REST API using {% data variables.product.prodname_cli %}, see the {% data variables.product.prodname_cli %} version of this article. + +{% endnote %} + +1. Install cURL if cURL isn't already installed on your machine. To check if cURL is installed, execute `curl --version` in the command line. If the output is information about the cURL version, cURL is installed. If you get a message similar to `command not found: curl`, you need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + {%- ifversion fpt or ghec %} + + To keep your token secure, you can store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + You can also use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Use the `cURL` command to make your request. Pass your token in an `Authorization` header. Replace `YOUR-TOKEN` with your token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) only work with `Authorization: Bearer`. + + {% endnote %} + +### Using cURL in {% data variables.product.prodname_actions %} + +You can also use cURL in your {% data variables.product.prodname_actions %} workflows. + +{% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. You can find your app ID on the settings page for your app or through the App API. For more information, see "[Apps](/rest/apps/apps#get-an-app)." For more information about secrets, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)." +1. Generate a private key for your app. Store the contents of the resulting file as a secret. (Store the entire contents of the file, including `-----BEGIN RSA PRIVATE KEY-----` and `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. For more information, see "[Authenticating with {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)." +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. For example: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Next steps + +For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." diff --git a/translations/ja-JP/content/rest/teams/external-groups.md b/translations/ja-JP/content/rest/teams/external-groups.md index de118fd6e8..d79dc3d769 100644 --- a/translations/ja-JP/content/rest/teams/external-groups.md +++ b/translations/ja-JP/content/rest/teams/external-groups.md @@ -19,7 +19,7 @@ miniTocMaxHeadingLevel: 3 **ノート:** -- 外部グループAPIは、{% data variables.product.prodname_emus %}を使用しているEnterpriseの一部であるOrganizationでのみ利用できます。 詳しい情報については「[Enterpriseが管理しているユーザ](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)」を参照してください。 +- The external groups API is only available for organizations that are part of an enterprise using {% data variables.product.prodname_emus %}. 詳しい情報については「[Enterpriseが管理しているユーザ](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)」を参照してください。 - OrganizationがTeam同期を使用している場合、Team Synchronization APIが利用できます。 詳しい情報については「[Team synchronization API](#team-synchronization)」を参照してください。 {% endnote %} diff --git a/translations/ja-JP/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/translations/ja-JP/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md index facad55b14..1824ba49a9 100644 --- a/translations/ja-JP/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md +++ b/translations/ja-JP/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -25,7 +25,7 @@ shortTitle: Sponsor a contributor You can sponsor an account on behalf of your personal account to invest in projects that you personally benefit from. Organization に代わってアカウントをスポンサーできますが、それには多くの理由があります。 - Organization の作業が依存する特定のライブラリを維持する -- Organization として依存しているエコシステム (たとえばブロックチェーン) に投資する +- Investing in the ecosystem you rely on as an organization (such as blockchain) - オープンソースを大切にする Organization としてブランド認知度を確立する - Organization が提供する製品を補完するライブラリを構築しているオープンソース開発者に感謝する diff --git a/translations/ja-JP/data/features/actions-oidc-hardening-config.yml b/translations/ja-JP/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 0000000000..f3048bac8b --- /dev/null +++ b/translations/ja-JP/data/features/actions-oidc-hardening-config.yml @@ -0,0 +1,6 @@ +#Reference: #7336 +#General versioning for oidc hardening options +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' diff --git a/translations/ja-JP/data/features/dependabot-alerts-dismissal-comment.yml b/translations/ja-JP/data/features/dependabot-alerts-dismissal-comment.yml new file mode 100644 index 0000000000..e2c2294cea --- /dev/null +++ b/translations/ja-JP/data/features/dependabot-alerts-dismissal-comment.yml @@ -0,0 +1,6 @@ +#Reference: Issue #7673 - Dependabot alerts: optional comment with dismissal - [GA] +versions: + fpt: '*' + ghec: '*' + ghes: '>3.6' + ghae: 'issue-7673' diff --git a/translations/ja-JP/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/ja-JP/data/features/dependabot-alerts-vulnerable-calls.yml index 84825c368b..a7f772a7c5 100644 --- a/translations/ja-JP/data/features/dependabot-alerts-vulnerable-calls.yml +++ b/translations/ja-JP/data/features/dependabot-alerts-vulnerable-calls.yml @@ -3,5 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.5' ghae: 'issue-6076' diff --git a/translations/ja-JP/data/features/enterprise-namespace-repo-setting.yml b/translations/ja-JP/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 0000000000..e20549f3ea --- /dev/null +++ b/translations/ja-JP/data/features/enterprise-namespace-repo-setting.yml @@ -0,0 +1,6 @@ +#Reference: #7757 +#Setting to disable personal namespace repo creation for EMUs, GHES 3.7+ and GHAE 3.7+ users +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7757' diff --git a/translations/ja-JP/data/features/ip-allow-list-address-check.yml b/translations/ja-JP/data/features/ip-allow-list-address-check.yml new file mode 100644 index 0000000000..c4dda87a70 --- /dev/null +++ b/translations/ja-JP/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/ja-JP/data/features/multiple-accounts-one-workstation.yml b/translations/ja-JP/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 0000000000..9fce93b34e --- /dev/null +++ b/translations/ja-JP/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,5 @@ +#Issue #7330 +#Documentation for managing multiple GitHub accounts on one workstation +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ja-JP/data/features/packages-npm-v2.yml b/translations/ja-JP/data/features/packages-npm-v2.yml new file mode 100644 index 0000000000..572e412e4a --- /dev/null +++ b/translations/ja-JP/data/features/packages-npm-v2.yml @@ -0,0 +1,5 @@ +#Issue 7039 +#npm Package Registry Improvements (v2) GA +versions: + fpt: '*' + ghec: '*' diff --git a/translations/ja-JP/data/features/push-protection-custom-link-orgs-beta.yml b/translations/ja-JP/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 0000000000..509caa9fb4 --- /dev/null +++ b/translations/ja-JP/data/features/push-protection-custom-link-orgs-beta.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links beta flags +#See "push-protection-custom-link-orgs" for the feature +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/ja-JP/data/features/push-protection-custom-link-orgs.yml b/translations/ja-JP/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 0000000000..fce23efa96 --- /dev/null +++ b/translations/ja-JP/data/features/push-protection-custom-link-orgs.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links +#See "push-protection-custom-link-orgs-beta" for the beta flags +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/ja-JP/data/features/ssh-commit-verification.yml b/translations/ja-JP/data/features/ssh-commit-verification.yml new file mode 100644 index 0000000000..7851b1c8b7 --- /dev/null +++ b/translations/ja-JP/data/features/ssh-commit-verification.yml @@ -0,0 +1,8 @@ +#Reference: github/docs-content#6709 +#Initial docs for showing SSH signed commits as verified and +#uploading SSH signing keys +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.7' + ghae: '*' diff --git a/translations/ja-JP/data/features/streaming-datadog.yml b/translations/ja-JP/data/features/streaming-datadog.yml new file mode 100644 index 0000000000..ab90546c8d --- /dev/null +++ b/translations/ja-JP/data/features/streaming-datadog.yml @@ -0,0 +1,4 @@ +#Reference #7495 +#Documentation for audit log streaming to a Datadog endpoint +versions: + ghec: '*' diff --git a/translations/ja-JP/data/graphql/ghec/graphql_upcoming_changes.public.yml b/translations/ja-JP/data/graphql/ghec/graphql_upcoming_changes.public.yml index f202844a78..4973103e87 100644 --- a/translations/ja-JP/data/graphql/ghec/graphql_upcoming_changes.public.yml +++ b/translations/ja-JP/data/graphql/ghec/graphql_upcoming_changes.public.yml @@ -996,7 +996,7 @@ upcoming_changes: owner: lukewar - location: ProjectView.groupedItems - description: '`groupedItems` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.' + description: '`groupedItems`は削除されます。適切な置き換えを見つけるには、https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/ にあるProjectV2ガイドに従ってください。' reason: '`ProjectNext`は、より多機能な`ProjectV2`に置き換えられて非推奨になりました。' date: '2022-10-01T00:00:00+00:00' criticality: 破壊的 diff --git a/translations/ja-JP/data/graphql/graphql_upcoming_changes.public.yml b/translations/ja-JP/data/graphql/graphql_upcoming_changes.public.yml index f202844a78..4973103e87 100644 --- a/translations/ja-JP/data/graphql/graphql_upcoming_changes.public.yml +++ b/translations/ja-JP/data/graphql/graphql_upcoming_changes.public.yml @@ -996,7 +996,7 @@ upcoming_changes: owner: lukewar - location: ProjectView.groupedItems - description: '`groupedItems` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.' + description: '`groupedItems`は削除されます。適切な置き換えを見つけるには、https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/ にあるProjectV2ガイドに従ってください。' reason: '`ProjectNext`は、より多機能な`ProjectV2`に置き換えられて非推奨になりました。' date: '2022-10-01T00:00:00+00:00' criticality: 破壊的 diff --git a/translations/ja-JP/data/release-notes/enterprise-server/3-6/0.yml b/translations/ja-JP/data/release-notes/enterprise-server/3-6/0.yml index e563c6afeb..0aa9ef1b94 100644 --- a/translations/ja-JP/data/release-notes/enterprise-server/3-6/0.yml +++ b/translations/ja-JP/data/release-notes/enterprise-server/3-6/0.yml @@ -61,10 +61,10 @@ sections: -「[Secret scanningでのプッシュの保護](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)」 -「[EnterpriseのAudit logイベント](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#secret_scanning_push_protection-category-actions)」 - -「[OrganizationのAudit logのレビュー]/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#secret_scanning_push_protection-category-actions)」 + -「[OrganizationのAudit logのレビュー](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#secret_scanning_push_protection-category-actions)」 -REST APIドキュメンテーションの「[Secret scanning](/rest/secret-scanning#list-secret-scanning-alerts-for-an-enterprise)」 - | - GitHub Advanced Securityのライセンスがあるインスタンス上のEnterpriseのオーナーは、EntepriseのカスタムのSecret scanningパターンのdry runを実行でき、すべてのユーザはパターンを編集する際にdry runを実行できます。dry runを行うことによって、パターンがインスタンス全体に与える影響を理解し、公開してアラートを生成する前にパターンを磨き上げることができます。詳しい情報については「Secret scanningのカスタムパターンの定義](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)」を参照してください。 + GitHub Advanced Securityのライセンスがあるインスタンス上のEnterpriseのオーナーは、EntepriseのカスタムのSecret scanningパターンのdry runを実行でき、すべてのユーザはパターンを編集する際にdry runを実行できます。dry runを行うことによって、パターンがインスタンス全体に与える影響を理解し、公開してアラートを生成する前にパターンを磨き上げることができます。詳しい情報については「[Secret scanningのカスタムパターンの定義](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)」を参照してください。 - | GitHub Advanced Securityのライセンスがあるインスタンス上のユーザは、Secret scanningのアラートを取得する際にREST APIで`sort`及び`direction`パラメータを使い、アラートの`created`あるいは`updated`フィールドに基づいてソートすることができます。この新しいパラメータはインスタンス全体で、あるいは個々のOrganizationあるいはリポジトリで使用できます。詳しい情報については以下のドキュメンテーションを参照してください。 @@ -94,7 +94,7 @@ sections: インスタンスでGitHub Connectが有効化されているなら、ユーザは[GitHub Advisory Database](https://github.com/advisories)内のセキュリティアドバイザリの改善に貢献できます。貢献するには、アドバイザリの詳細を表示しているときに**Suggest improvements for this vulnerability(この脆弱性に改善を提案)**をクリックしてください。詳しい情報については以下の記事を参照してください。 - 「[GitHub Connectの管理](/admin/configuration/configuring-github-connect/managing-github-connect)」 - - GitHub Enterprise Cloudのドキュメンテーションの「「GitHub Advisory Database内のセキュリティ脆弱性の閲覧](/enterprise-cloud@latest/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database)」 + - GitHub Enterprise Cloudのドキュメンテーションの「[GitHub Advisory Database内のセキュリティ脆弱性の閲覧](/enterprise-cloud@latest/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database)」 - GitHub Enterprise Cloudのドキュメンテーションの「[リポジトリのGitHub Security Advisoriesについて](/enterprise-cloud@latest/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)」 - GitHub Enterprise Cloudのドキュメンテーションの「[GitHub Advisory Database中のセキュリティアドバイザリの編集](/enterprise-cloud@latest/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database)」 - @@ -150,7 +150,7 @@ sections: - | ユーザは、**Restrict pushes that create matching branches(マッチするブランチを作成するプッシュの制限)**ブランチ保護ルールで、設定された名前のパターンにマッチするブランチの作成をブロックできます。たとえば、リポジトリのデフォルトブランチを`master`から`main`に変更した場合、リポジトリの管理者はそれ以降`master`ブランチの作成やプッシュを防ぐことができます。詳しい情報については「[保護されたブランチについて](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#restrict-who-can-push-to-matching-branches)」及び[ブランチの保護ルールの管理](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule#creating-a-branch-protection-rule)」を参照してください。 - | - ユーザは、リポジトリの**Branches(ブランチ)**ページから、**New branch(新規ブランチ)**をクリックすることで直接ブランチを作成できます。詳しい情報については「[リポジトリ内でのブランチの作成と削除(/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)」を参照してください。 + ユーザは、リポジトリの**Branches(ブランチ)**ページから、**New branch(新規ブランチ)**をクリックすることで直接ブランチを作成できます。詳しい情報については「[リポジトリ内でのブランチの作成と削除](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)」を参照してください。 - | ユーザはオープンなPull Requestに関連づけられたブランチを削除できます。詳しい情報については「[リポジトリ内でのブランチの作成と削除](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)」を参照してください。 - | @@ -173,7 +173,7 @@ sections: heading: プルリクエスト notes: - | - Pull Requestの**Files changed(変更されたファイル)**タブにあるファイルツリーを使って、ユーザは変更されたファイルに見ていき、変更のサイズとスコープを理解し、レビューに集中できます。このファイルツリーは、Pull Requestが少なくとも2つのファイルを変更しており、ブラウザのウィンドウが十分に広いときに表示されます。詳しい情報については「[Pull Requestで提案された変更のレビュー(/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)」及び「[Pull Requestのファイルのフィルタリング](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)」を参照してください。 + Pull Requestの**Files changed(変更されたファイル)**タブにあるファイルツリーを使って、ユーザは変更されたファイルに見ていき、変更のサイズとスコープを理解し、レビューに集中できます。このファイルツリーは、Pull Requestが少なくとも2つのファイルを変更しており、ブラウザのウィンドウが十分に広いときに表示されます。詳しい情報については「[Pull Requestで提案された変更のレビュー](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)」及び「[Pull Requestのファイルのフィルタリング](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)」を参照してください。 - | ユーザは、すべてのsquashマージでPull Requestのタイトルをコミットメッセージとして使うことをデフォルトにできます。詳しい情報については「[Pull Requestのコミットsquashの設定](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)」を参照してください。 - @@ -210,3 +210,4 @@ sections: - リポジトリの設定で、読み取りアクセスを持つユーザにディスカッションの作成を許可するオプションを有効化しても、この機能は有効化されません。 - ユーザが既存のIssueをディスカッションに変換できないことがあります。 - Secret scanningのカスタムパターンは、特に"After secret"パターンにおいて`.*`を終了の区切り文字として持ちます。この区切り文字は、リポジトリにまたがるシークレットのスキャンにおいて矛盾を生じさせ、スキャンがまったく完了していないというリポジトリの履歴のギャップに気づくかもしれません。インクリメンタルなスキャンにも影響があるかもしれません。スキャンの問題を回避するために、パターンの終わりから`.*`という区切り文字を取り除く修正をしてください。 + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/ja-JP/data/reusables/accounts/create-personal-access-tokens.md b/translations/ja-JP/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 0000000000..fef12d84dd --- /dev/null +++ b/translations/ja-JP/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. 各アカウントに`repo`スコープを持つ専用のPATを作成してください。 詳しい情報については、「[個人アクセストークンを作成する](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)」を参照してください。 \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/actions/contacting-support.md b/translations/ja-JP/data/reusables/actions/contacting-support.md index b8d9451425..56623f757b 100644 --- a/translations/ja-JP/data/reusables/actions/contacting-support.md +++ b/translations/ja-JP/data/reusables/actions/contacting-support.md @@ -5,5 +5,5 @@ あなたの利用方法、もしくは意図する利用方法が利用制限のカテゴリに当てはまるかどうかに関わらず、以下のいずれかの場合は{% data variables.contact.contact_support %}に連絡してください。 * アカウントに間違った制約が課されていると思われる場合 -* たとえばユニークIDのような予想外のエラーに、アクションの実行時に遭遇した場合 +* いずれかのアクションを実行した際に予想外のエラーが生じた場合 * 既存の動作が期待される、ただし必ずしもドキュメント化されてはいない動作と矛盾するような状況に遭遇した場合 diff --git a/translations/ja-JP/data/reusables/actions/use-request-body-api.md b/translations/ja-JP/data/reusables/actions/use-request-body-api.md new file mode 100644 index 0000000000..716669acfd --- /dev/null +++ b/translations/ja-JP/data/reusables/actions/use-request-body-api.md @@ -0,0 +1 @@ +この設定を適用するには、APIエンドポイントにリクエストをサブミットし、そのリクエストのボディに必要な設定を含めてください。 詳しい情報については「[OrganizationのOIDCサブジェクトクレームのカスタマイズテンプレートの設定](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)」を参照してください。 \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/advanced-security/custom-link-beta.md b/translations/ja-JP/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 0000000000..030762649a --- /dev/null +++ b/translations/ja-JP/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**ノート:** ブロックされたプッシュメッセージにリソースリンクを追加する機能は、現在パブリックベータであり、変更されることがあります。 + +{% endnote %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/ja-JP/data/reusables/advanced-security/secret-scanning-push-protection-org.md index 03b7a69cb8..a3af2685e3 100644 --- a/translations/ja-JP/data/reusables/advanced-security/secret-scanning-push-protection-org.md +++ b/translations/ja-JP/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -1,2 +1,6 @@ 1. "{% data variables.product.prodname_secret_scanning_caps %}"の下の"Push protection(プッシュ保護)"の下で、**Enable all(すべて有効化)**をクリックしてください。 ![任意のOrganizationで{% data variables.product.prodname_secret_scanning %}のプッシュ保護を有効化する方法を示しているスクリーンショット](/assets/images/help/organizations/secret-scanning-enable-push-protection.png) -1. あるいは、"Automatically enable for private repositories added to {% data variables.product.prodname_secret_scanning %}"をクリックしてください。 +1. あるいは、"Automatically enable for private repositories added to {% data variables.product.prodname_secret_scanning %}"をクリックしてください。{% ifversion push-protection-custom-link-orgs %} +1. あるいは、シークレットをプッシュしようとしたときにメンバーに表示されるメッセージにカスタムリンクを含めるには、**Add a resource link in the CLI and web UI when a commit is blocked(コミットがブロックされた場合CLIやWeb UIにリソースリンクを追加)**を選択し、続いてURLを入力し、**Save link(リンクを保存)**をクリックしてください。 + {% ifversion push-protection-custom-link-orgs-beta %}{% indented_data_reference reusables.advanced-security.custom-link-beta spaces=3 %}{% endif %} + + ![カスタムリンクを有効化するチェックボックスとテキストフィールドのスクリーンショット](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/code-scanning/licensing-note.md b/translations/ja-JP/data/reusables/code-scanning/licensing-note.md index 8a1df37865..a893b88321 100644 --- a/translations/ja-JP/data/reusables/code-scanning/licensing-note.md +++ b/translations/ja-JP/data/reusables/code-scanning/licensing-note.md @@ -1,8 +1,12 @@ {% note %} **ノート:** {% ifversion fpt %} -{% data variables.product.prodname_codeql_cli %}はパブリックリポジトリでは無料で使用できます。 {% data variables.product.prodname_codeql_cli %}は、{% data variables.product.prodname_ghe_cloud %}を使用し、{% data variables.product.prodname_GH_advanced_security %}のライセンスを持っているOrganizationが所有するプライベートリポジトリでも使用できます。 詳細については「[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %}の利用規約](https://securitylab.github.com/tools/codeql/license)」及び「[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)」を参照してください。 -{%- elsif ghec %}{% data variables.product.prodname_codeql_cli %}は{% data variables.product.prodname_dotcom_the_website %}でメンテナンスされているパブリックリポジトリでは無料で使用でき、{% data variables.product.prodname_advanced_security %}ライセンスを持っているお客様が所有するプライベートリポジトリでも使用できます。 詳細については「[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %}の利用規約](https://securitylab.github.com/tools/codeql/license)」及び「[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)」を参照してください。 -{%- elsif ghes or ghae %}{% data variables.product.prodname_codeql_cli %}は、{% data variables.product.prodname_advanced_security %}ライセンスを持つお客様にご利用いただけます。 +- {% data variables.product.prodname_codeql_cli %}は、パブリックリポジトリでは無料で利用できます。 {% data variables.product.prodname_codeql_cli %}は、{% data variables.product.prodname_ghe_cloud %}を使用し、{% data variables.product.prodname_GH_advanced_security %}のライセンスを持っているOrganizationが所有するプライベートリポジトリでも使用できます。 詳細については「[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %}の利用規約](https://securitylab.github.com/tools/codeql/license)」及び「[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)」を参照してください。 +{%- elsif ghec %} +- {% data variables.product.prodname_codeql_cli %}は{% data variables.product.prodname_dotcom_the_website %}でメンテナンスされているパブリックリポジトリでは無料で使用でき、{% data variables.product.prodname_advanced_security %}ライセンスを持っているお客様が所有するプライベートリポジトリでも使用できます。 詳細については「[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %}の利用規約](https://securitylab.github.com/tools/codeql/license)」及び「[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)」を参照してください。 +{%- elsif ghes or ghae %} +- {% data variables.product.prodname_codeql_cli %}は{% data variables.product.prodname_advanced_security %}ライセンスを持つお客様にご利用いただけます。 {% endif %} +- {% data reusables.code-scanning.non-glibc-linux-support %} + {% endnote %} diff --git a/translations/ja-JP/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/ja-JP/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 0000000000..e53d59424f --- /dev/null +++ b/translations/ja-JP/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1 @@ +{% data variables.product.prodname_codeql_cli %}は現時点で、(muslベースの)Alpine Linuxなどの非glibc Linuxディストリビューションとは互換性がありません。 \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/ja-JP/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 4e76a26911..351b36a5b8 100644 --- a/translations/ja-JP/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/translations/ja-JP/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1 +1,5 @@ -1. {% data variables.product.prodname_vscode_shortname %}の左サイドバーで、 Remote Explorerのアイコンをクリックしてください。 ![{% data variables.product.prodname_vscode %}のRemote Explorerアイコン](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) +1. {% data variables.product.prodname_vscode_shortname %}の左サイドバーで、 Remote Explorerのアイコンをクリックしてください。 + + ![{% data variables.product.prodname_vscode %}のRemote Explorerアイコン](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/ja-JP/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 0000000000..2f638bed7e --- /dev/null +++ b/translations/ja-JP/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,5 @@ +{% note %} + +**ノート**: Organizationで課金されるcodespacesの利用を無効化した場合でも、個人ユーザとしてcodespacesを作成でき、Organization内のリポジトリをクローンできるユーザは、引き続きそのリポジトリに対してcodespaceを作成できます。 しかし、これによってOrganizationに対する課金が生じることはありません。 リポジトリへのアクセスの制限に関する情報については「[リポジトリへのアクセスを持つTeamや人の管理](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)」を参照してください。 + +{% endnote %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/ja-JP/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 0000000000..c0da4777b0 --- /dev/null +++ b/translations/ja-JP/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,5 @@ +{% note %} + +**ノート**: {% data variables.product.prodname_codespaces %}に対して定義するOrganizationのポリシーは、そのOrganizationに対して課金されるcodespacesにのみ適用されます。 個人ユーザがOrganization内のリポジトリに対してcodespaceを作成し、Organizationが課金されない場合は、そのcodespaceはそれらのポリシーによる制約を受けません。 Organizationに課金されるcodespaceを作成できるユーザの選択方法に関する情報については「[Organizationでの{% data variables.product.prodname_github_codespaces %}の有効化](https://docs-internal-29134-ad7bd8.preview.ghdocs.com/en/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)」を参照してください。 + +{% endnote %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/ja-JP/data/reusables/codespaces/codespaces-spending-limit-requirement.md index 8f72ade561..8ead919aff 100644 --- a/translations/ja-JP/data/reusables/codespaces/codespaces-spending-limit-requirement.md +++ b/translations/ja-JP/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -1,9 +1,9 @@ {% note %} -**ノート:** {% data variables.product.prodname_codespaces %}を利用するには、利用上限を設定しなければなりません。 +**ノート:** {% data variables.product.prodname_codespaces %}を利用するには、0ではない利用上限を設定しなければなりません。 {% endnote %} -デフォルトでは、OrganizationもしくはEnterpriseは$0の{% data variables.product.prodname_github_codespaces %}の利用上限を持っており、これは新しいcodespaceの作成や、既存のcodespaceのオープンを禁止します。 Organiationでユーザがcodespaceを作成できるようにするには、この上限を$0よりも大きな値に設定してください。 +デフォルトでは、OrganizationもしくはEnterpriseは、$0の{% data variables.product.prodname_github_codespaces %}利用上限を持ちます。 これによって、OrganizationやEntepriseへの課金が発生する場合に、新しいcodespaceが作成されたり、既存のcodespacesがオープンされることを防げます。 Organiationでユーザがcodespaceを作成できるようにするには、この上限を$0よりも大きな値に設定してください。 {% data reusables.billing.overages-billed-monthly %} diff --git a/translations/ja-JP/data/reusables/codespaces/remote-explorer.md b/translations/ja-JP/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 0000000000..0d95df797e --- /dev/null +++ b/translations/ja-JP/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,9 @@ +{% note %} + +**ノート**: Remote Explorerがアクティビティバーに表示されない場合: + +1. コマンドパレットにアクセスしてください。 たとえばShift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linuxを押します。 +1. `codespaces`と入力してください。 +1. **Codespaces: Details(Codespacesの詳細)**をクリックしてください。 + +{% endnote %} diff --git a/translations/ja-JP/data/reusables/dependabot/dependabot-alerts-filters.md b/translations/ja-JP/data/reusables/dependabot/dependabot-alerts-filters.md index 13b75a00f4..f2e1222930 100644 --- a/translations/ja-JP/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/translations/ja-JP/data/reusables/dependabot/dependabot-alerts-filters.md @@ -1,17 +1,17 @@ -You can sort and filter {% data variables.product.prodname_dependabot_alerts %} by typing filters as `key:value` pairs into the search bar. +`key:value`ペアとしてフィルタを検索バーに入力することで、{% data variables.product.prodname_dependabot_alerts %}のソートとフィルタリングが行えます。 -| オプション | 説明 | サンプル | -|:---------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `エコシステム` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 %} -| `has` | Displays alerts meeting the selected filter criteria | Use `has:patch` to show alerts related to advisories that have a patch{% ifversion dependabot-alerts-vulnerable-calls %}
Use `has:vulnerable-calls` to show alerts relating to calls to vulnerable functions{% endif %} +| オプション | 説明 | サンプル | +|:------------ |:------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ecosystem` | 選択されたエコシステムのアラートを表示 | `ecosystem:npm`を使ってnpmの{% data variables.product.prodname_dependabot_alerts %}を表示 |{% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-7891 %} +| `has` | 選択されたフィルタ条件を満たすアラートを表示 | `has:patch`を使ってパッチを持つアドバイザリに関連したアラートを表示{% ifversion dependabot-alerts-vulnerable-calls %}
`has:vulnerable-calls`を使って脆弱性のある関数の呼び出しに関連したアラートを表示{% endif %} {% endif %} -| `is` | Displays alerts based on their state | Use `is:open` to show open alerts | -| `manifest` | Displays alerts for the selected manifest | Use `manifest:webwolf/pom.xml` to show alerts on the pom.xml file of the webwolf application | -| `package` | Displays alerts for the selected package | Use `package:django` to show alerts for django | -| `解決策` | Displays alerts of the selected resolution status | Use `resolution:no-bandwidth` to show alerts previously parked due to lack of resources or time to fix them | -| `repo` | Displays alerts based on the repository they relate to
Note that this filter is only available on the security overview. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)" | Use `repo:octocat-repo` to show alerts in the repository called `octocat-repo` |{%- ifversion dependabot-alerts-development-label %} -| `スコープ` | Displays alerts based on the scope of the dependency they relate to | Use `scope:development` to show alerts for dependencies that are only used during development +| `is` | 状態に基づいてアラートを表示 | `is:open`を使ってオープンなアラートを表示 | +| `manifest` | 選択されたマニフェストのアラートを表示 | `manifest:webwolf/pom.xml`を使ってwebwolfアプリケーションのpom.xmlに対するアラートを表示 | +| `package` | 選択されたパッケージに対するアラートを表示 | `package:django`を使ってdjangoに対するアラートを表示 | +| `resolution` | 選択された解決のステータスに対するアラートを表示 | `resolution:no-bandwidth`を使って、以前にリソース不足あるいは修正する時間が無いことから置かれたアラートを表示 | +| `repo` | 関連するリポジトリに基づいてアラートを表示
このフィルタはセキュリティの概要でのみ利用できることに注意してください。 詳しい情報については「[セキュリティの概要について](/code-security/security-overview/about-the-security-overview)」を参照してください。 | `repo:octocat-repo`を使って`octocat-repo`というリポジトリ内のアラートを表示 |{%- ifversion dependabot-alerts-development-label %} +| `scope` | 関連する依存関係のスコープに基づいてアラートを表示 | `scope:development`を使って開発の間にだけ使われた依存関係に対するアラートを表示 {% endif %} -| `重要度` | Displays alerts based on their level of severity | Use `severity:high` to show alerts with a severity of High |{%- ifversion dependabot-most-important-sort-option %} -| `ソート` | Displays alerts according to the selected sort order | The default sorting option for alerts is `sort:most-important`, which ranks alerts by importance
Use `sort:newest` to show the latest alerts reported by {% data variables.product.prodname_dependabot %} +| `severity` | 重要度のレベルに基づいてアラートを表示 | `severity:high`を使って重要度がHighのアラートを表示 |{%- ifversion dependabot-most-important-sort-option %} +| `sort` | 選択されたソート順に従ってアラートを表示 | アラートのデフォルトのソートオプションは、アラートを重要度でランク付けする`sort:most-important`
`sort:newest`を使って、{% data variables.product.prodname_dependabot %}が報告した最新のアラートを表示 {% endif %} diff --git a/translations/ja-JP/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/ja-JP/data/reusables/enterprise-accounts/repo-creation-policy.md index 900d63c2a9..0352e6f347 100644 --- a/translations/ja-JP/data/reusables/enterprise-accounts/repo-creation-policy.md +++ b/translations/ja-JP/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -1 +1,6 @@ -1. "Repository creation(リポジトリの作成)"の下で、ポリシーを選択してください。 ![リポジトリ作成ポリシーオプションのドロップダウンメニュー](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) +1. "Repository creation(リポジトリの作成)"の下で、ポリシーを選択してください。 + {% ifversion enterprise-namespace-repo-setting %} + ![リポジトリ作成ポリシーオプションのドロップダウンメニュー](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![リポジトリ作成ポリシーオプションのドロップダウンメニュー](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/ja-JP/data/reusables/enterprise-accounts/repository-visibility-policy.md b/translations/ja-JP/data/reusables/enterprise-accounts/repository-visibility-policy.md deleted file mode 100644 index ea691fa5ba..0000000000 --- a/translations/ja-JP/data/reusables/enterprise-accounts/repository-visibility-policy.md +++ /dev/null @@ -1 +0,0 @@ -1. "Repository visibility change(リポジトリの可視性の変更)"の下で、ドロップダウンメニューを使ってポリシーを選択してください。 ![リポジトリの可視性のポリシーの選択肢があるドロップダウンメニュー](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) diff --git a/translations/ja-JP/data/reusables/enterprise-accounts/security-tab.md b/translations/ja-JP/data/reusables/enterprise-accounts/security-tab.md index 3814053ef8..5eaf02ca19 100644 --- a/translations/ja-JP/data/reusables/enterprise-accounts/security-tab.md +++ b/translations/ja-JP/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae-issue-7875 %} +1. 左のサイドバーで**Authentication security(認証のセキュリティ)**をクリックしてください。 + {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-authentication-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-authentication-security-tab.png){% endif %} +{%- else %} 1. 左のサイドバーで**Security(セキュリティ)**をクリックしてください。 {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} +{%- endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md b/translations/ja-JP/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md index d5c8884a8e..d9e308eee9 100644 --- a/translations/ja-JP/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md +++ b/translations/ja-JP/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md @@ -1,4 +1,4 @@ -1. ``をGPGキーIDで置き換えて、キーを{% data variables.product.product_name %}の環境変数として定義してください。 +1. Define the key as an environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. ```bash{:copy} ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a | awk '{printf "%s\\n", $0}')" diff --git a/translations/ja-JP/data/reusables/git/cache-on-repository-path.md b/translations/ja-JP/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 0000000000..cd19dc5b54 --- /dev/null +++ b/translations/ja-JP/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,5 @@ +1. リポジトリをクローンしたそれぞれのローカルディレクトリに認証情報をキャッシュするようGitを設定するには、以下のコマンドを入力してください。 + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/ja-JP/data/reusables/git/clear-stored-gcm-credentials.md b/translations/ja-JP/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 0000000000..04e3de748e --- /dev/null +++ b/translations/ja-JP/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,5 @@ +- If the output is `manager-core`, you're using Git Credential Manager. To clear the credentials, run the following command. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/ja-JP/data/reusables/git/clear-the-stored-credentials.md b/translations/ja-JP/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 0000000000..f723d7ab97 --- /dev/null +++ b/translations/ja-JP/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1 @@ +1. If the output confirms that you're using a credential manager, clear the stored credentials for the credential manager. diff --git a/translations/ja-JP/data/reusables/git/confirm-credential-manager.md b/translations/ja-JP/data/reusables/git/confirm-credential-manager.md new file mode 100644 index 0000000000..68c6e99397 --- /dev/null +++ b/translations/ja-JP/data/reusables/git/confirm-credential-manager.md @@ -0,0 +1,5 @@ +1. To confirm your use of a credential manager, enter the following command and note the output. + + ```shell{:copy} + git config --get credential.helper + ``` diff --git a/translations/ja-JP/data/reusables/git/no-credential-manager.md b/translations/ja-JP/data/reusables/git/no-credential-manager.md new file mode 100644 index 0000000000..fe79c2ff04 --- /dev/null +++ b/translations/ja-JP/data/reusables/git/no-credential-manager.md @@ -0,0 +1 @@ +- If the output doesn't include the name of a credential manager, there is no credential manager configured, and you can proceed to the next step. \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/git/open-terminal.md b/translations/ja-JP/data/reusables/git/open-terminal.md new file mode 100644 index 0000000000..7f460ada8e --- /dev/null +++ b/translations/ja-JP/data/reusables/git/open-terminal.md @@ -0,0 +1 @@ +1. ターミナルを開きます。 diff --git a/translations/ja-JP/data/reusables/git/provide-credentials.md b/translations/ja-JP/data/reusables/git/provide-credentials.md new file mode 100644 index 0000000000..351a1e87d1 --- /dev/null +++ b/translations/ja-JP/data/reusables/git/provide-credentials.md @@ -0,0 +1,3 @@ +1. The first time that you use Git to clone a repository or access data in a repository that you've already cloned, Git will request credentials. Provide the PAT for the account with access to the repository. + + Git will cache the PAT for the directory you're in, and you'll be able to access and write repository data on {% data variables.product.product_location %} using the correct account. diff --git a/translations/ja-JP/data/reusables/gpg/configure-ssh-signing.md b/translations/ja-JP/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 0000000000..f0f489a73a --- /dev/null +++ b/translations/ja-JP/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,4 @@ +1. Configure Git to use SSH to sign commits and tags: + ```bash + $ git config --global gpg.format ssh + ``` \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/gpg/copy-gpg-key-id.md b/translations/ja-JP/data/reusables/gpg/copy-gpg-key-id.md index 34b505fd16..75470758d6 100644 --- a/translations/ja-JP/data/reusables/gpg/copy-gpg-key-id.md +++ b/translations/ja-JP/data/reusables/gpg/copy-gpg-key-id.md @@ -1,9 +1,9 @@ 1. GPGキーのリストから、使いたいGPGキーIDの長い形式をコピーしてください。 この例では、GPG キー ID は `3AA5C34371567BD2` です。 - ```shell + ```shell{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10 - ``` + ``` diff --git a/translations/ja-JP/data/reusables/gpg/copy-ssh-public-key.md b/translations/ja-JP/data/reusables/gpg/copy-ssh-public-key.md new file mode 100644 index 0000000000..d2710a9807 --- /dev/null +++ b/translations/ja-JP/data/reusables/gpg/copy-ssh-public-key.md @@ -0,0 +1,43 @@ +1. SSH 公開鍵をクリップボードにコピーします。 + + SSH 公開鍵のファイル名がサンプルコードと異なる場合は、現在の設定に一致するようにファイル名を変更してください。 キーをコピーする際には、改行や空白を追加しないでください。 +{% mac %} + + ```shell + $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **ヒント:** `pbcopy` がうまく動作しない場合は、隠れフォルダ `.ssh` にアクセスし、使い慣れたテキストエディタでこのファイルを開き、クリップボードにコピーしてください。 + + {% endtip %} +{% endmac %} +{% windows %} + + ```shell + $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **ヒント:** `clip` がうまく動作しない場合は、隠しフォルダ `.ssh` にアクセスし、使い慣れたテキストエディタでこのファイルを開き、クリップボードにコピーしてください。 + + {% endtip %} +{% endwindows %} +{% linux %} + + ```shell + $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file + # displayed in the terminal to your clipboard + ``` + + {% tip %} + + **Tip:** Alternatively, you can locate the hidden `.ssh` folder, open the file in your favorite text editor, and copy it to your clipboard. + + {% endtip %} +{% endlinux %} diff --git a/translations/ja-JP/data/reusables/gpg/list-keys-with-note.md b/translations/ja-JP/data/reusables/gpg/list-keys-with-note.md index 1a5a7f5729..8243508393 100644 --- a/translations/ja-JP/data/reusables/gpg/list-keys-with-note.md +++ b/translations/ja-JP/data/reusables/gpg/list-keys-with-note.md @@ -1,10 +1,11 @@ - 1. 公開鍵と秘密鍵をどちらも持っているGPGキーの長い形式のリストを表示するには、 `gpg --list-secret-keys --keyid-format=long`コマンドを使ってください。 コミットやタグに署名するには秘密鍵が必要です。 - ```shell - $ gpg --list-secret-keys --keyid-format=long -``` - {% note %} - **ノート:**LinuxのGPG環境の中には、既存のキーのリストを表示させるために`gpg2 --list-keys --keyid-format LONG`としなければならないものもあります。 この場合、`git config --global gpg.program gpg2`と実行してGitが`gpg2`を使うように設定する必要もあります。 + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + ``` - {% endnote %} + {% note %} + + **ノート:**LinuxのGPG環境の中には、既存のキーのリストを表示させるために`gpg2 --list-keys --keyid-format LONG`としなければならないものもあります。 この場合、`git config --global gpg.program gpg2`と実行してGitが`gpg2`を使うように設定する必要もあります。 + + {% endnote %} diff --git a/translations/ja-JP/data/reusables/gpg/paste-ssh-public-key.md b/translations/ja-JP/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 0000000000..1274a0acb5 --- /dev/null +++ b/translations/ja-JP/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,4 @@ +1. To set your SSH signing key in Git, paste the text below, substituting the contents of your clipboard for the key you'd like to use. Since the key contains spaces, you must wrap it in quotes: + ```bash + $ git config --global user.signingkey 'ssh-ed25519 AAAAC3(...) user@example.com' + ``` \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/gpg/ssh-git-version.md b/translations/ja-JP/data/reusables/gpg/ssh-git-version.md new file mode 100644 index 0000000000..481a9df5b1 --- /dev/null +++ b/translations/ja-JP/data/reusables/gpg/ssh-git-version.md @@ -0,0 +1,6 @@ + +{% note %} + +**Note:** SSH signature verification is available in Git 2.34 or later. Gitのバージョンをアップデートするには、[Git](https://git-scm.com/downloads)のWebサイトを参照してください。 + +{% endnote %} diff --git a/translations/ja-JP/data/reusables/gpg/x-509-key.md b/translations/ja-JP/data/reusables/gpg/x-509-key.md index 7a65302459..29ca780927 100644 --- a/translations/ja-JP/data/reusables/gpg/x-509-key.md +++ b/translations/ja-JP/data/reusables/gpg/x-509-key.md @@ -1,5 +1,5 @@ -### Git にX.509 キーについて知らせる +## Git にX.509 キーについて知らせる GPGではなくS/MIMEを使ってコミットやタグに署名するために、[smimesign](https://github.com/github/smimesign)を使うことができます。 diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/ja-JP/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 0000000000..772581f87a --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,3 @@ +You can create an IP allow list by adding entries that each contain an IP address or address range.{% ifversion ip-allow-list-address-check %} After you finish adding entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list.{% endif %} + +Before the list restricts access to {% ifversion ghae %}your enterprise{% else %}private assets owned by organizations in your enterprise{% endif %}, you must also enable allowed IP addresses. \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/ja-JP/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 0000000000..dfdc758f91 --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1 @@ +You can check whether a particular IP address would be allowed by any of the enabled entries in your IP allow list, even if the list is not currently enabled. \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/ja-JP/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 0000000000..d646e02ec5 --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,5 @@ +You can edit an entry in your IP allow list. If you edit an enabled entry, changes are enforced immediately. + +{% ifversion ip-allow-list-address-check %} +After you finish editing entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. +{% endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/ja-JP/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 0000000000..f886df0690 --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md @@ -0,0 +1,5 @@ +After you create an IP allow list, you can enable allowed IP addresses. When you enable allowed IP addresses, {% data variables.product.company_short %} immediately enforces any enabled entries in your IP allow list. + +{% ifversion ip-allow-list-address-check %} +Before you enable allowed IP addresses, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{% endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/ja-JP/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 0000000000..5e73fdddcd --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1 @@ +1. Under "Check your IP address", enter an IP address. ![Screenshot of the "Check IP address" text field](/assets/images/help/security/check-ip-address.png) \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/check-ip-address.md b/translations/ja-JP/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 0000000000..9a187752d6 --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,3 @@ +{%- ifversion ip-allow-list-address-check %} +1. Optionally, check if a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{%- endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/ja-JP/data/reusables/identity-and-permissions/ip-allow-lists-enable.md index 9fd83f774c..2547c2bd7c 100644 --- a/translations/ja-JP/data/reusables/identity-and-permissions/ip-allow-lists-enable.md +++ b/translations/ja-JP/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -1 +1,3 @@ -IP許可リストを強制するには、まずIPアドレスをリストに追加し、それからIP許可リストを有効化しなければなりません。 IP 許可リストを有効にするには、現在の IP アドレスまたは一致する範囲を追加する必要があります。 +To enforce the IP allow list, you must first add IP addresses to the list, then enable the IP allow list.{% ifversion ip-allow-list-address-check %} After you complete your list, you can check whether a particular IP address would be allowed by any of the enabled entries in the list.{% endif %} + +IP 許可リストを有効にするには、現在の IP アドレスまたは一致する範囲を追加する必要があります。 diff --git a/translations/ja-JP/data/reusables/identity-and-permissions/ipv6-allow-lists.md b/translations/ja-JP/data/reusables/identity-and-permissions/ipv6-allow-lists.md new file mode 100644 index 0000000000..3c26491fe2 --- /dev/null +++ b/translations/ja-JP/data/reusables/identity-and-permissions/ipv6-allow-lists.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec %} +{% note %} + +**Note:** {% data variables.product.company_short %} is gradually rolling out support for IPv6. As {% data variables.product.prodname_dotcom %} services continue to add IPv6 support, we will start recognizing IPv6 addresses of {% data variables.product.prodname_dotcom %} users. To prevent possible access interruptions, please ensure you have added any necessary IPv6 addresses to your IP allow list. + +{% endnote %} +{% endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/organizations/about-following-organizations.md b/translations/ja-JP/data/reusables/organizations/about-following-organizations.md new file mode 100644 index 0000000000..52e52467fb --- /dev/null +++ b/translations/ja-JP/data/reusables/organizations/about-following-organizations.md @@ -0,0 +1 @@ +When you follow organizations on {% data variables.product.product_name %}, you'll see their {% ifversion fpt or ghec %}public{% endif %} activity on your personal dashboard. This activity includes new discussions, sponsorships, and repositories. \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/organizations/follow-organizations-beta.md b/translations/ja-JP/data/reusables/organizations/follow-organizations-beta.md new file mode 100644 index 0000000000..1730f73ccd --- /dev/null +++ b/translations/ja-JP/data/reusables/organizations/follow-organizations-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to follow organizations is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/organizations/new_team.md b/translations/ja-JP/data/reusables/organizations/new_team.md index 20183a885d..746538b727 100644 --- a/translations/ja-JP/data/reusables/organizations/new_team.md +++ b/translations/ja-JP/data/reusables/organizations/new_team.md @@ -1,5 +1,5 @@ -1. Organization 名の下で、クリックします -{% octicon "people" aria-label="The people icon" %} **Teams**. +1. Organization 名の下で、 +{% octicon "people" aria-label="The people icon" %} **Teams**をクリックしてください。 {% ifversion fpt or ghes > 3.2 or ghec %} ![Teamsタブ](/assets/images/help/organizations/organization-teams-tab-with-overview.png) {% else %} diff --git a/translations/ja-JP/data/reusables/organizations/oauth_app_access.md b/translations/ja-JP/data/reusables/organizations/oauth_app_access.md index a2dc8773f5..33c8dfc8c9 100644 --- a/translations/ja-JP/data/reusables/organizations/oauth_app_access.md +++ b/translations/ja-JP/data/reusables/organizations/oauth_app_access.md @@ -1 +1 @@ -1. In the "Integrations" section of the sidebar, click **{% octicon "key" aria-label="The key icon" %} Third-party access**. +1. サイドバーの「Integrations(インテグレーション)」セクションで、**{% octicon "key" aria-label="The key icon" %} Third-party access(サードパーティのアクセス)**をクリックしてください。 diff --git a/translations/ja-JP/data/reusables/organizations/org-invite-scim.md b/translations/ja-JP/data/reusables/organizations/org-invite-scim.md index cb5d723d48..bb5b6694af 100644 --- a/translations/ja-JP/data/reusables/organizations/org-invite-scim.md +++ b/translations/ja-JP/data/reusables/organizations/org-invite-scim.md @@ -1 +1 @@ -If an invitee does not accept the invitation within seven days, the pending invitation expires automatically. After expiration, {% data variables.product.company_short %} will no longer bill you for the pending invitation.{% ifversion ghec %} If a SCIM request from your identity provider (IdP) generates the invitation, the invitation will not expire.{% endif %} +招待された人が招待を7日以内に唱題しなかった場合、保留されていた招待は自動的に期限切れになります。 期限切れになると、{% data variables.product.company_short %}は保留された招待に対して課金しなくなります。{% ifversion ghec %}アイデンティティプロバイダ(IdP)からのSCIMリクエストが招待を生成した場合、その招待は期限切れになりません。{% endif %} diff --git a/translations/ja-JP/data/reusables/organizations/org-list.md b/translations/ja-JP/data/reusables/organizations/org-list.md index c63dd5d64e..45e5d566af 100644 --- a/translations/ja-JP/data/reusables/organizations/org-list.md +++ b/translations/ja-JP/data/reusables/organizations/org-list.md @@ -1 +1 @@ -1. Under "Organizations", next to the name of your organization, click **Settings**. ![Screenshot of an organization next to the "Settings" button](/assets/images/help/organizations/list-of-organizations.png) +1. "Organizations"の下で、Organization名の隣の**Settings(設定)**をクリックしてください。 !["Settings"ボタンの隣のOrganizationのスクリーンショット](/assets/images/help/organizations/list-of-organizations.png) diff --git a/translations/ja-JP/data/reusables/organizations/org-settings-repository-roles.md b/translations/ja-JP/data/reusables/organizations/org-settings-repository-roles.md index 937618670b..07151d44df 100644 --- a/translations/ja-JP/data/reusables/organizations/org-settings-repository-roles.md +++ b/translations/ja-JP/data/reusables/organizations/org-settings-repository-roles.md @@ -1 +1 @@ -1. In the "Access" section of the sidebar, click **{% octicon "id-badge" aria-label="The ID badge icon" %} Repository roles**. +1. サイドバーの"Access(アクセス)"セクションで、**{% octicon "id-badge" aria-label="The ID badge icon" %} Repository roles(リポジトリロール)**をクリックしてください。 diff --git a/translations/ja-JP/data/reusables/organizations/org_settings.md b/translations/ja-JP/data/reusables/organizations/org_settings.md index bfd643b511..87cea66ccb 100644 --- a/translations/ja-JP/data/reusables/organizations/org_settings.md +++ b/translations/ja-JP/data/reusables/organizations/org_settings.md @@ -1,5 +1,5 @@ 1. Organization 名の下で、クリックします -{% octicon "gear" aria-label="The Settings gear" %} **Settings**. +{% octicon "gear" aria-label="The Settings gear" %} **Settings(設定)** {% ifversion fpt or ghes > 3.2 or ghec %} ![Organizationの設定ボタン](/assets/images/help/organizations/organization-settings-tab-with-overview-tab.png) {% else %} diff --git a/translations/ja-JP/data/reusables/organizations/organization-plans.md b/translations/ja-JP/data/reusables/organizations/organization-plans.md index bb3822d560..2b56578116 100644 --- a/translations/ja-JP/data/reusables/organizations/organization-plans.md +++ b/translations/ja-JP/data/reusables/organizations/organization-plans.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec %} -All organizations can own an unlimited number of public and private repositories. You can use organizations for free, with {% data variables.product.prodname_free_team %}, which includes limited features on private repositories. To get the full feature set on private repositories and additional features at the organization level, including SAML single sign-on and improved support coverage, you can upgrade to {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} +すべてのOrganizationは、無制限の数のパブリック及びプライベートリポジトリを所有できます。 {% data variables.product.prodname_free_team %}でOrganizationは無料で使用でき、プライベートリポジトリには限定された機能が含まれます。 プライベートリポジトリで完全な機能を設定し、SAMLシングルサインオンや改善されたサポートカバレッジを含むOrganizaitonレベルで追加の機能を設定するには、{% data variables.product.prodname_team %}もしくは{% data variables.product.prodname_ghe_cloud %}にアップグレードできます。 {% data reusables.gated-features.more-info %} {% ifversion fpt %} {% data reusables.enterprise.link-to-ghec-trial %}{% endif %} diff --git a/translations/ja-JP/data/reusables/organizations/outside-collaborators-use-seats.md b/translations/ja-JP/data/reusables/organizations/outside-collaborators-use-seats.md index 7857597cad..198a28f29f 100644 --- a/translations/ja-JP/data/reusables/organizations/outside-collaborators-use-seats.md +++ b/translations/ja-JP/data/reusables/organizations/outside-collaborators-use-seats.md @@ -1 +1 @@ -Adding an outside collaborator to a private{% ifversion ghec %} or internal{% endif %} repository will use one of your paid licenses. For more information, see "{% ifversion fpt or ghec %}[About per-user pricing](/billing/managing-billing-for-your-github-account/about-per-user-pricing){% elsif ghes or ghae %}[About billing for your enterprise](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise){% endif %}." +プライベート{% ifversion ghec %}もしくはインターナル{% endif %}リポジトリへ外部のコラボレータを追加すると、有料ライセンスが使用されます。 詳しい情報については「{% ifversion fpt or ghec %}[ユーザごとの価格付けについて](/billing/managing-billing-for-your-github-account/about-per-user-pricing){% elsif ghes or ghae %}[Enterpriseでの支払いについて](/billing/managing-billing-for-your-github-account/about-billing-for-your-enterprise){% endif %}」を参照してください。 diff --git a/translations/ja-JP/data/reusables/organizations/owners-team.md b/translations/ja-JP/data/reusables/organizations/owners-team.md index 4fcb55858c..9bb10d6d11 100644 --- a/translations/ja-JP/data/reusables/organizations/owners-team.md +++ b/translations/ja-JP/data/reusables/organizations/owners-team.md @@ -1,5 +1,5 @@ 1. Organization 名の下で、クリックします -{% octicon "people" aria-label="The people icon" %} **Teams**. +{% octicon "people" aria-label="The people icon" %} **Teams**をクリックしてください。 {% ifversion fpt or ghes > 3.2 or ghec %} ![Teamsタブ](/assets/images/help/organizations/organization-teams-tab-with-overview.png) {% else %} diff --git a/translations/ja-JP/data/reusables/organizations/people-export.md b/translations/ja-JP/data/reusables/organizations/people-export.md index 938ea3529f..b5f59ec000 100644 --- a/translations/ja-JP/data/reusables/organizations/people-export.md +++ b/translations/ja-JP/data/reusables/organizations/people-export.md @@ -1 +1 @@ -1. To the right of the search bar, select the Export drop-down menu and click the desired export format. ![Screenshot of the export button.](/assets/images/help/organizations/people-tab-export.png) +1. 検索バーの右で、Exportドロップダウンメニューを選択し、希望するエクスポート形式をクリックしてください。 ![エクスポートボタンのスクリーンショット](/assets/images/help/organizations/people-tab-export.png) diff --git a/translations/ja-JP/data/reusables/organizations/people.md b/translations/ja-JP/data/reusables/organizations/people.md index 56d2d6f9f2..165216037e 100644 --- a/translations/ja-JP/data/reusables/organizations/people.md +++ b/translations/ja-JP/data/reusables/organizations/people.md @@ -1,5 +1,5 @@ 1. Organization 名の下で、クリックします -{% octicon "person" aria-label="The Person icon" %} **People**. +{% octicon "person" aria-label="The Person icon" %} **People(人)** {% ifversion fpt or ghes > 3.2 or ghec %} ![人タブ](/assets/images/help/organizations/organization-people-tab-with-overview-tab.png) {% else %} diff --git a/translations/ja-JP/data/reusables/organizations/repository-defaults.md b/translations/ja-JP/data/reusables/organizations/repository-defaults.md index 28f1b30a6b..bac3a028c0 100644 --- a/translations/ja-JP/data/reusables/organizations/repository-defaults.md +++ b/translations/ja-JP/data/reusables/organizations/repository-defaults.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5658 %} -1. In the "Code, planning, and automation" section of the sidebar, select **{% octicon "repo" aria-label="The repo icon" %} Repository**, then click **Repository defaults**. +1. サイドバーの"Code, planning, and automation(コード、計画、自動化)"のセクションで、**{% octicon "repo" aria-label="The repo icon" %} Repository(リポジトリ)**を選択し、続いて** Repository defaults(リポジトリのデフォルト)**をクリックしてください。 {% else %} 1. 左のサイドバーで**Repository defaults(リポジトリのデフォルト)**をクリックしてください。 ![リポジトリのデフォルトタブ](/assets/images/help/organizations/repo-defaults-tab.png) {% endif %} diff --git a/translations/ja-JP/data/reusables/organizations/security-and-analysis.md b/translations/ja-JP/data/reusables/organizations/security-and-analysis.md index 08466c36d6..67c3d4c2ef 100644 --- a/translations/ja-JP/data/reusables/organizations/security-and-analysis.md +++ b/translations/ja-JP/data/reusables/organizations/security-and-analysis.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5658 %} -1. In the "Security" section of the sidebar, click **{% octicon "codescan" aria-label="The codescan icon" %} Code security and analysis**. +1. サイドバーの”Security(セキュリティ)"セクションで、**{% octicon "codescan" aria-label="The codescan icon" %} Code security and analysis(コードのセキュリティと分析)**をクリックしてください。 {% else %} 1. 左のサイドバーで、**Security & analysis(セキュリティと分析)**をクリックしてください。 ![Organization設定の"セキュリティと分析"タブ](/assets/images/help/organizations/org-settings-security-and-analysis.png) {% endif %} diff --git a/translations/ja-JP/data/reusables/organizations/security-manager-beta-note.md b/translations/ja-JP/data/reusables/organizations/security-manager-beta-note.md index 2d460ef111..5c40978443 100644 --- a/translations/ja-JP/data/reusables/organizations/security-manager-beta-note.md +++ b/translations/ja-JP/data/reusables/organizations/security-manager-beta-note.md @@ -1,5 +1,5 @@ {% note %} -**Note:** The security manager role is in public beta and subject to change. +**ノート:** セキュリティマネージャーのロールはパブリックベータであり、変更されることがあります。 {% endnote %} diff --git a/translations/ja-JP/data/reusables/organizations/security-overview-feature-specific-page.md b/translations/ja-JP/data/reusables/organizations/security-overview-feature-specific-page.md index 13f951ee2f..036be46b52 100644 --- a/translations/ja-JP/data/reusables/organizations/security-overview-feature-specific-page.md +++ b/translations/ja-JP/data/reusables/organizations/security-overview-feature-specific-page.md @@ -1 +1 @@ -1. あるいは、左のサイドバーを使ってセキュリティ機能ごとに情報をフィルタリングすることもできます。 On each page, you can use filters that are specific to that feature to fine-tune your search. +1. あるいは、左のサイドバーを使ってセキュリティ機能ごとに情報をフィルタリングすることもできます。 それぞれのページで、その機能に固有のフィルタを使って検索を微調整できます。 diff --git a/translations/ja-JP/data/reusables/organizations/security.md b/translations/ja-JP/data/reusables/organizations/security.md index 89ff33e85f..0cc94addb5 100644 --- a/translations/ja-JP/data/reusables/organizations/security.md +++ b/translations/ja-JP/data/reusables/organizations/security.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5658 %} -1. In the "Security" section of the sidebar, click **{% octicon "shield-lock" aria-label="The shield-lock icon" %} Authentication security**. +1. サイドバーの”Security(セキュリティ)"セクションで、**{% octicon "shield-lock" aria-label="The shield-lock icon" %} Authentication security(認証のセキュリティ)**をクリックしてください。 {% else %} 1. 左のサイドバーで**Organization security(Organizationのセキュリティ)**をクリックしてください。 diff --git a/translations/ja-JP/data/reusables/organizations/specific_team.md b/translations/ja-JP/data/reusables/organizations/specific_team.md index b89839874c..1eff35c7eb 100644 --- a/translations/ja-JP/data/reusables/organizations/specific_team.md +++ b/translations/ja-JP/data/reusables/organizations/specific_team.md @@ -1,5 +1,5 @@ 1. Organization 名の下で、クリックします -{% octicon "people" aria-label="The people icon" %} **Teams**. +{% octicon "people" aria-label="The people icon" %} **Teams**をクリックしてください。 {% ifversion fpt or ghes > 3.2 or ghec %} ![Teamsタブ](/assets/images/help/organizations/organization-teams-tab-with-overview.png) {% else %} diff --git a/translations/ja-JP/data/reusables/organizations/ssh-ca-ghec-only.md b/translations/ja-JP/data/reusables/organizations/ssh-ca-ghec-only.md index 2c29a6bf3e..b23c3cf51b 100644 --- a/translations/ja-JP/data/reusables/organizations/ssh-ca-ghec-only.md +++ b/translations/ja-JP/data/reusables/organizations/ssh-ca-ghec-only.md @@ -1,7 +1,7 @@ {% ifversion fpt or ghec %} {% note %} -**Note:** To use SSH certificate authorities, your organization must use {% data variables.product.prodname_ghe_cloud %}. {% data reusables.enterprise.link-to-ghec-trial %} +**ノート:** SSH認証局を使用するには、Organizationは{% data variables.product.prodname_ghe_cloud %}を使わなければなりません。 {% data reusables.enterprise.link-to-ghec-trial %} {% endnote %} diff --git a/translations/ja-JP/data/reusables/organizations/team_maintainers_can.md b/translations/ja-JP/data/reusables/organizations/team_maintainers_can.md index 19aae1ce72..2a5f088d27 100644 --- a/translations/ja-JP/data/reusables/organizations/team_maintainers_can.md +++ b/translations/ja-JP/data/reusables/organizations/team_maintainers_can.md @@ -11,5 +11,5 @@ - [OrganizationメンバーのTeamからの削除](/articles/removing-organization-members-from-a-team) - [既存のTeamメンバーのチームメンテナへの昇格](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member) - リポジトリへのTeamのアクセス権の削除 -- [Manage code review settings for the team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team){% ifversion fpt or ghec %} +- [Teamのコードレビュー設定の管理](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team){% ifversion fpt or ghec %} - [プルリクエストのスケジュールされたリマインダーの管理](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests){% endif %} diff --git a/translations/ja-JP/data/reusables/organizations/teams.md b/translations/ja-JP/data/reusables/organizations/teams.md index 2216fc95e7..24158f7cec 100644 --- a/translations/ja-JP/data/reusables/organizations/teams.md +++ b/translations/ja-JP/data/reusables/organizations/teams.md @@ -1,5 +1,5 @@ 1. Organization 名の下で、クリックします -{% octicon "people" aria-label="The people icon" %} **Teams**. +{% octicon "people" aria-label="The people icon" %} **Teams**をクリックしてください。 {% ifversion fpt or ghes > 3.2 or ghec %} ![OrganizationページのTeamsタブ](/assets/images/help/organizations/organization-teams-tab-with-overview.png) {% else %} diff --git a/translations/ja-JP/data/reusables/organizations/teams_sidebar.md b/translations/ja-JP/data/reusables/organizations/teams_sidebar.md index 5c9046cef1..dc73e47017 100644 --- a/translations/ja-JP/data/reusables/organizations/teams_sidebar.md +++ b/translations/ja-JP/data/reusables/organizations/teams_sidebar.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5658 %} -1. In the "Access" section of the sidebar, click **{% octicon "comment-discussion" aria-label="The comment-discussion icon" %} Team discussions**. +1. サイドバーの"Access(アクセス)"セクションで、**{% octicon "comment-discussion" aria-label="The comment-discussion icon" %} Team discussions(Teamのディスカッション)**をクリックしてください。 {% else %} 1. Settings(設定)サイドバーで、**Teams**をクリックしてください。 ![Organizationの設定サイドバー内のTeamsタブ](/assets/images/help/settings/settings-sidebar-team-settings.png) {% endif %} diff --git a/translations/ja-JP/data/reusables/organizations/verified-domains.md b/translations/ja-JP/data/reusables/organizations/verified-domains.md index 018cf275ad..5d1e662fe3 100644 --- a/translations/ja-JP/data/reusables/organizations/verified-domains.md +++ b/translations/ja-JP/data/reusables/organizations/verified-domains.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5658 %} -1. In the "Security" section of the sidebar, click **{% octicon "verified" aria-label="The verified icon" %} Verified and approved domains**. +1. サイドバーの”Security(セキュリティ)"セクションで、**{% octicon "verified" aria-label="The verified icon" %} Verified and approved domains(検証済み及び承認済みドメイン)**をクリックしてください。 {% else %} 1. 左のサイドバーで**Verified & approved domains(検証済み及び承認済みドメイン)**をクリックしてください。 !["検証済み及び承認済みドメイン"タブ](/assets/images/help/organizations/verified-domains-button.png) {% endif %} diff --git a/translations/ja-JP/data/reusables/package_registry/authenticate-packages.md b/translations/ja-JP/data/reusables/package_registry/authenticate-packages.md index a766f6e96d..5ca4e91584 100644 --- a/translations/ja-JP/data/reusables/package_registry/authenticate-packages.md +++ b/translations/ja-JP/data/reusables/package_registry/authenticate-packages.md @@ -4,4 +4,4 @@ You can use a personal access token (PAT) to authenticate to {% data variables.p To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: - `GITHUB_TOKEN` to publish packages associated with the workflow repository. -- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). +- a PAT with at least `packages:read` scope to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/translations/ja-JP/data/reusables/package_registry/authenticate-to-container-registry-steps.md b/translations/ja-JP/data/reusables/package_registry/authenticate-to-container-registry-steps.md index cdd67653b4..468bb23641 100644 --- a/translations/ja-JP/data/reusables/package_registry/authenticate-to-container-registry-steps.md +++ b/translations/ja-JP/data/reusables/package_registry/authenticate-to-container-registry-steps.md @@ -1,22 +1,21 @@ -1. 実行したいタスクに対して適切なスコープを持つ新しい個人アクセストークン(PAT)を作成してください。 OrganizationがSSOを必須としている場合は、新しいトークンでSSOを有効化しなければなりません。 +1. Create a new personal access token (PAT) with the appropriate scopes for the tasks you want to accomplish. If your organization requires SSO, you must enable SSO for your new token. {% warning %} - **ノート:** デフォルトでは、ユーザインターフェース内で個人アクセストークン(PAT)に対して`write:packages`スコープを選択すると、`repo`スコープも選択されます。 `repo`は不要に広いアクセス権を提供するので、特にGitHub Actionsのワークフローでの利用は避けることをおすすめします。 詳しい情報については「[GitHub Actionsのためのセキュリティ強化](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)」を参照してください。 As a workaround, you can select just the `write:packages` scope for your PAT in the user interface with this url: `https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/settings/tokens/new?scopes=write:packages`. + **Note:** By default, when you select the `write:packages` scope for your personal access token (PAT) in the user interface, the `repo` scope will also be selected. The `repo` scope offers unnecessary and broad access, which we recommend you avoid using for GitHub Actions workflows in particular. For more information, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." As a workaround, you can select just the `write:packages` scope for your PAT in the user interface with this url: `https://{% ifversion fpt or ghec %}github.com{% else %}HOSTNAME{% endif %}/settings/tokens/new?scopes=write:packages`. {% endwarning %} - - コンテナイメージをダウンロードし、そのメタデータを読むためには`read:packages`スコープを選択してください。 - - コンテナイメージのダウンロードとアップロード、及びそのメタデータの読み書きのためには、`write:packages`スコープを選択してください。 - - コンテナイメージを削除するには`delete:packages`スコープを選択してください。 + - Select the `read:packages` scope to download container images and read their metadata. + - Select the `write:packages` scope to download and upload container images and read and write their metadata. + - Select the `delete:packages` scope to delete container images. - 詳しい情報については[コマンドラインのための個人のアクセストークンの作成](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)を参照してください。 + For more information, see "[Creating a personal access token for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)." -2. PATを保存してください。 PATは環境変数として保存することをおすすめします。 +2. Save your PAT. We recommend saving your PAT as an environment variable. ```shell $ export CR_PAT=YOUR_TOKEN ``` -3. コンテナタイプにあったCLIを利用して、 -{% data variables.product.prodname_container_registry %} service at `{% data reusables.package_registry.container-registry-hostname %}`. +3. Using the CLI for your container type, sign in to the {% data variables.product.prodname_container_registry %} service at `{% data reusables.package_registry.container-registry-hostname %}`. {% raw %} ```shell $ echo $CR_PAT | docker login {% endraw %}{% data reusables.package_registry.container-registry-hostname %}{% raw %} -u USERNAME --password-stdin diff --git a/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md b/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md deleted file mode 100644 index a54f9a0844..0000000000 --- a/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md +++ /dev/null @@ -1,11 +0,0 @@ -{% ifversion fpt or ghec or ghes > 3.4 %} - -To authenticate to the {% data variables.product.prodname_container_registry %} within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. If your workflow is using a personal access token (PAT) to authenticate to `{% data reusables.package_registry.container-registry-hostname %}`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. - -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to `{% data reusables.package_registry.container-registry-hostname %}` with a personal access token, see "[Upgrading a workflow that accesses `ghcr.io`](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio)."{% endif %} - -For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." - -If you're using the {% data variables.product.prodname_container_registry %} in actions, follow our security best practices at "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." - -{% endif %} diff --git a/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md new file mode 100644 index 0000000000..d60327d06a --- /dev/null +++ b/translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -0,0 +1,7 @@ +If your workflow is using a personal access token (PAT) to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. + +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a personal access token, see "[Upgrading a workflow that accesses a registry using a PAT](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} + +`GITHUB_TOKEN`に関する詳しい情報については「[ワークフロー中の認証](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)」を参照してください。 + +For more information about the best practises when using a registry in actions, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." diff --git a/translations/ja-JP/data/reusables/package_registry/checksum-maven-plugin.md b/translations/ja-JP/data/reusables/package_registry/checksum-maven-plugin.md index 3d980144e1..6f6ce5940d 100644 --- a/translations/ja-JP/data/reusables/package_registry/checksum-maven-plugin.md +++ b/translations/ja-JP/data/reusables/package_registry/checksum-maven-plugin.md @@ -1,5 +1,5 @@ {%- ifversion ghae %} -1. In the `plugins` element of the *pom.xml* file, add the [checksum-maven-plugin](https://search.maven.org/artifact/net.nicoulaj.maven.plugins/checksum-maven-plugin) plugin, and configure the plugin to send at least SHA-256 checksums. +1. *pom.xml*ファイルの`plugins`要素に[checksum-maven-plugin](https://search.maven.org/artifact/net.nicoulaj.maven.plugins/checksum-maven-plugin)プラグインを追加し、そのプラグインを最低でもSHA-256のチェックサムを送信するように設定してください。 ```xml diff --git a/translations/ja-JP/data/reusables/package_registry/container-registry-benefits.md b/translations/ja-JP/data/reusables/package_registry/container-registry-benefits.md index 079a514846..37b9ce623e 100644 --- a/translations/ja-JP/data/reusables/package_registry/container-registry-benefits.md +++ b/translations/ja-JP/data/reusables/package_registry/container-registry-benefits.md @@ -1 +1 @@ -The {% data variables.product.prodname_container_registry %} stores container images within your organization or personal account, and allows you to associate an image with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. You can also access public container images anonymously. +{% data variables.product.prodname_container_registry %}はコンテナイメージをOrganizationもしくは個人アカウントに保存し、イメージをリポジトリに関連づけられるようにしてくれます。 リポジトリから権限を継承するか、もしくはリポジトリからは独立して詳細な権限を設定するかを選択できます。 匿名でパブリックなコンテナイメージにアクセスすることもできます。 diff --git a/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-beta.md b/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-beta.md index c4942faf78..83ca21a6e5 100644 --- a/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-beta.md +++ b/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-beta.md @@ -2,7 +2,7 @@ {% note %} -**ノート**: {% data variables.product.prodname_container_registry %}は{% data variables.product.product_name %} に対して現在ベータであり、変更されることがあります。 +**Note**: {% data variables.product.prodname_container_registry %} is currently in beta for {% data variables.product.product_name %} and subject to change. Both {% data variables.product.prodname_registry %} and subdomain isolation must be enabled to use {% data variables.product.prodname_container_registry %}. For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." diff --git a/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-migration-availability.md b/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-migration-availability.md index 5d685d5f4f..5f9faa2ba7 100644 --- a/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-migration-availability.md +++ b/translations/ja-JP/data/reusables/package_registry/container-registry-ghes-migration-availability.md @@ -1 +1 @@ -{% data variables.product.product_name %} 3.6 supports migration for Docker images stored in organizations. A future release will support migration of user-owned images. \ No newline at end of file +{% data variables.product.product_name %} 3.6はOrganizationに保存されたDockerイメージの移行をサポートしています。 将来のリリースでは、ユーザが所有するイメージの移行がサポートされます。 \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/package_registry/container-registry-replaces-docker-registry.md b/translations/ja-JP/data/reusables/package_registry/container-registry-replaces-docker-registry.md index 5b6ed35c4f..a7c1cb7ca1 100644 --- a/translations/ja-JP/data/reusables/package_registry/container-registry-replaces-docker-registry.md +++ b/translations/ja-JP/data/reusables/package_registry/container-registry-replaces-docker-registry.md @@ -1 +1 @@ -The {% data variables.product.prodname_container_registry %} replaces {% data variables.product.company_short %}'s Docker registry. +{% data variables.product.prodname_container_registry %}は{% data variables.product.company_short %}のDockerレジストリを置き換えます。 diff --git a/translations/ja-JP/data/reusables/package_registry/no-graphql-to-delete-packages.md b/translations/ja-JP/data/reusables/package_registry/no-graphql-to-delete-packages.md new file mode 100644 index 0000000000..cbab609f2b --- /dev/null +++ b/translations/ja-JP/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`, or npm images that use the package namespace `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/reusables/package_registry/package-settings-from-org-level.md b/translations/ja-JP/data/reusables/package_registry/package-settings-from-org-level.md index 291daa3623..1af0a18c85 100644 --- a/translations/ja-JP/data/reusables/package_registry/package-settings-from-org-level.md +++ b/translations/ja-JP/data/reusables/package_registry/package-settings-from-org-level.md @@ -1,7 +1,7 @@ 1. {% data variables.product.prodname_dotcom %}で、Organizationのメインページにアクセスしてください。 2. Organization名の下で、**Packages(パッケージ)**をクリックしてください。 {% ifversion fpt or ghes > 3.2 or ghec %} - ![Packages tab on org landing page](/assets/images/help/package-registry/org-tab-for-packages-with-overview-tab.png) + ![Organizationのランディングページのパッケージタブ](/assets/images/help/package-registry/org-tab-for-packages-with-overview-tab.png) {% else %} - ![Packages tab on org landing page](/assets/images/help/package-registry/org-tab-for-packages.png) + ![Organizationのランディングページのパッケージタブ](/assets/images/help/package-registry/org-tab-for-packages.png) {% endif %} diff --git a/translations/ja-JP/data/reusables/package_registry/package-settings-from-user-level.md b/translations/ja-JP/data/reusables/package_registry/package-settings-from-user-level.md index 26f96ee7be..eb2fe28f45 100644 --- a/translations/ja-JP/data/reusables/package_registry/package-settings-from-user-level.md +++ b/translations/ja-JP/data/reusables/package_registry/package-settings-from-user-level.md @@ -1,3 +1,3 @@ -1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of your personal account. -2. In the top right corner of {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}, click your profile photo, then click **Your profile**. ![プロフィール画像](/assets/images/help/profile/top_right_avatar.png) +1. {% data variables.product.prodname_dotcom %}で、個人アカウントのメインページにアクセスしてください。 +2. {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}の右上から、プロフィール写真をクリックし、続いて**Your profile(あなたのプロフィール)**をクリックしてください。 ![プロフィール画像](/assets/images/help/profile/top_right_avatar.png) 3. プロフィールページで、右上の**Packages(パッケージ)**をクリックしてください。 ![プロフィールページのパッケージオプション](/assets/images/help/package-registry/packages-from-user-profile.png) diff --git a/translations/ja-JP/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md b/translations/ja-JP/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md index 65e43b5b60..6099483240 100644 --- a/translations/ja-JP/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md +++ b/translations/ja-JP/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md @@ -1,16 +1,16 @@ -{% ifversion ghes > 3.1 or ghes < 3.5 %} +{% ifversion ghes < 3.5 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix for 3.5 and later will be available in an upcoming patch release. +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix will be available in upcoming patch releases. -To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-16] +To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-26] -{% elsif ghes > 3.4 or ghes < 3.7 %} +{% elsif ghes = 3.5 or ghes = 3.6 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ currentVersion }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ allVersions[currentVersion].currentRelease }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). - To display the missing alerts for all repositories owned by an organization, organization owners can navigate to the organization's **Code security and analysis** settings, then click **Enable all** for secret scanning. 詳しい情報については、「[Organization のセキュリティおよび分析設定を管理する](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories)」を参照してください。 - To display the missing alerts for an individual repository, people with admin access to the repository can disable then enable secret scanning for the repository. 詳しい情報については「[リポジトリのセキュリティ及び分析の設定の管理](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)」を参照してください。 -A fix will be available in an upcoming patch release. [Updated: 2022-08-16] +A fix will be available in an upcoming patch release. [Updated: 2022-08-26] {% endif %} diff --git a/translations/ja-JP/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/ja-JP/data/reusables/secret-scanning/push-protection-web-ui-choice.md index 892e8aafe4..c6fc780e28 100644 --- a/translations/ja-JP/data/reusables/secret-scanning/push-protection-web-ui-choice.md +++ b/translations/ja-JP/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -2,5 +2,12 @@ Web UIを使ってプッシュ保護としてのSecret scanningが有効化さ シークレットの場所に関する情報がページ上部のバナーに表示され、簡単にシークレットが見つけられるよう、ファイル内でシークレットに下線が引かれます。 +{% ifversion push-protection-custom-link-orgs %} + + ![Secret scanningのプッシュ保護のため、Web UIでコミットがブロックされていることが表示されているスクリーンショット](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + ![Secret scanningのプッシュ保護のため、Web UIでコミットがブロックされていることが表示されているスクリーンショット](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) - \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/translations/ja-JP/data/variables/product.yml b/translations/ja-JP/data/variables/product.yml index 6fbf7da460..50b0c6e46b 100644 --- a/translations/ja-JP/data/variables/product.yml +++ b/translations/ja-JP/data/variables/product.yml @@ -112,6 +112,10 @@ prodname_registry: 'GitHub Packages' prodname_container_registry: 'コンテナレジストリ' prodname_docker_registry_namespace: '{% ifversion fpt or ghec %}`docker.pkg.github.com`{% elsif ghes or ghae %}docker.HOSTNAME{% endif %}' prodname_container_registry_namespace: '{% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes or ghae %}containers.HOSTNAME{% endif %}' +prodname_npm_registry: 'npmレジストリ' +prodname_ghcr_and_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_or_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} or {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_and_npm_registry_full: '{% data variables.product.prodname_container_registry %} (`ghcr.io`){% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %} (`npm.pkg.github.com`){% endif %}' #GitHub Insights prodname_insights: 'GitHub Insights' #GitHub Sponsors diff --git a/translations/log/cn-resets.csv b/translations/log/cn-resets.csv index c373d5c38f..c1f1be1dd8 100644 --- a/translations/log/cn-resets.csv +++ b/translations/log/cn-resets.csv @@ -5,10 +5,10 @@ translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-gith translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/viewing-contributions-on-your-profile.md,broken liquid tags translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md,broken liquid tags translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard.md,broken liquid tags -translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md,rendering error translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/changing-your-github-username.md,rendering error translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md,broken liquid tags translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/about-organization-membership.md,broken liquid tags +translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md,rendering error translations/zh-CN/content/actions/automating-builds-and-tests/about-continuous-integration.md,broken liquid tags translations/zh-CN/content/actions/deployment/about-deployments/deploying-with-github-actions.md,broken liquid tags translations/zh-CN/content/actions/hosting-your-own-runners/about-self-hosted-runners.md,rendering error @@ -116,7 +116,6 @@ translations/zh-CN/content/authentication/keeping-your-account-and-data-secure/a translations/zh-CN/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md,broken liquid tags translations/zh-CN/content/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.md,broken liquid tags translations/zh-CN/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md,broken liquid tags -translations/zh-CN/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md,broken liquid tags translations/zh-CN/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md,broken liquid tags translations/zh-CN/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md,broken liquid tags translations/zh-CN/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md,broken liquid tags @@ -204,7 +203,6 @@ translations/zh-CN/content/desktop/installing-and-configuring-github-desktop/ins translations/zh-CN/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md,broken liquid tags translations/zh-CN/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md,broken liquid tags translations/zh-CN/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md,broken liquid tags -translations/zh-CN/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md,broken liquid tags translations/zh-CN/content/developers/apps/getting-started-with-apps/about-apps.md,broken liquid tags translations/zh-CN/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md,broken liquid tags translations/zh-CN/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md,broken liquid tags @@ -290,7 +288,6 @@ translations/zh-CN/content/rest/activity/events.md,broken liquid tags translations/zh-CN/content/rest/apps/marketplace.md,broken liquid tags translations/zh-CN/content/rest/enterprise-admin/index.md,broken liquid tags translations/zh-CN/content/rest/guides/basics-of-authentication.md,Listed in localization-support#489 -translations/zh-CN/content/rest/guides/getting-started-with-the-checks-api.md,broken liquid tags translations/zh-CN/content/rest/overview/other-authentication-methods.md,Listed in localization-support#489 translations/zh-CN/content/rest/overview/other-authentication-methods.md,broken liquid tags translations/zh-CN/content/rest/overview/resources-in-the-rest-api.md,Listed in localization-support#489 @@ -396,7 +393,6 @@ translations/zh-CN/data/reusables/notifications/vulnerable-dependency-notificati translations/zh-CN/data/reusables/organizations/team-synchronization.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/authenticate-packages.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/authenticate-to-container-registry-steps.md,broken liquid tags -translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/docker_registry_deprecation_status.md,Listed in localization-support#489 translations/zh-CN/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md,broken liquid tags translations/zh-CN/data/reusables/package_registry/packages-cluster-support.md,broken liquid tags diff --git a/translations/log/es-resets.csv b/translations/log/es-resets.csv index 3de1dfc675..277582da38 100644 --- a/translations/log/es-resets.csv +++ b/translations/log/es-resets.csv @@ -29,6 +29,7 @@ translations/es-ES/content/actions/quickstart.md,Listed in localization-support# translations/es-ES/content/actions/security-guides/automatic-token-authentication.md,Listed in localization-support#489 translations/es-ES/content/actions/using-github-hosted-runners/about-github-hosted-runners.md,Listed in localization-support#489 translations/es-ES/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md,Listed in localization-support#489 +translations/es-ES/content/actions/using-github-hosted-runners/using-larger-runners.md,rendering error translations/es-ES/content/actions/using-workflows/workflow-syntax-for-github-actions.md,broken liquid tags translations/es-ES/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md,broken liquid tags translations/es-ES/content/admin/configuration/configuring-github-connect/managing-github-connect.md,broken liquid tags @@ -293,6 +294,7 @@ translations/es-ES/content/repositories/working-with-files/managing-large-files/ translations/es-ES/content/rest/activity/events.md,broken liquid tags translations/es-ES/content/rest/enterprise-admin/index.md,broken liquid tags translations/es-ES/content/rest/overview/other-authentication-methods.md,Listed in localization-support#489 +translations/es-ES/content/rest/secret-scanning.md,broken liquid tags translations/es-ES/content/search-github/searching-on-github/searching-code.md,Listed in localization-support#489 translations/es-ES/content/search-github/searching-on-github/searching-commits.md,Listed in localization-support#489 translations/es-ES/content/search-github/searching-on-github/searching-in-forks.md,Listed in localization-support#489 diff --git a/translations/log/ja-resets.csv b/translations/log/ja-resets.csv index c960f8ee78..adcd5f479c 100644 --- a/translations/log/ja-resets.csv +++ b/translations/log/ja-resets.csv @@ -5,9 +5,9 @@ translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-gith translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/viewing-contributions-on-your-profile.md,broken liquid tags translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account.md,broken liquid tags translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard.md,broken liquid tags -translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md,broken liquid tags translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-the-default-branch-name-for-your-repositories.md,broken liquid tags translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/permission-levels-for-a-personal-account-repository.md,broken liquid tags +translations/ja-JP/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md,broken liquid tags translations/ja-JP/content/actions/creating-actions/about-custom-actions.md,broken liquid tags translations/ja-JP/content/actions/creating-actions/publishing-actions-in-github-marketplace.md,broken liquid tags translations/ja-JP/content/actions/hosting-your-own-runners/about-self-hosted-runners.md,broken liquid tags @@ -69,7 +69,6 @@ translations/ja-JP/content/admin/user-management/migrating-data-to-and-from-your translations/ja-JP/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md,broken liquid tags translations/ja-JP/content/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps.md,broken liquid tags translations/ja-JP/content/authentication/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md,broken liquid tags -translations/ja-JP/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md,broken liquid tags translations/ja-JP/content/authentication/troubleshooting-ssh/error-permission-denied-publickey.md,Listed in localization-support#489 translations/ja-JP/content/billing/index.md,broken liquid tags translations/ja-JP/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md,broken liquid tags @@ -199,7 +198,6 @@ translations/ja-JP/content/packages/working-with-a-github-packages-registry/work translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md,broken liquid tags translations/ja-JP/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md,broken liquid tags translations/ja-JP/content/pages/getting-started-with-github-pages/about-github-pages.md,broken liquid tags -translations/ja-JP/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md,broken liquid tags translations/ja-JP/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md,broken liquid tags translations/ja-JP/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md,broken liquid tags translations/ja-JP/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md,broken liquid tags @@ -216,6 +214,7 @@ translations/ja-JP/content/rest/activity/events.md,broken liquid tags translations/ja-JP/content/rest/apps/oauth-applications.md,broken liquid tags translations/ja-JP/content/rest/enterprise-admin/index.md,broken liquid tags translations/ja-JP/content/rest/guides/getting-started-with-the-rest-api.md,broken liquid tags +translations/ja-JP/content/rest/quickstart.md,broken liquid tags translations/ja-JP/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md,broken liquid tags translations/ja-JP/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md,broken liquid tags translations/ja-JP/content/support/learning-about-github-support/about-github-premium-support.md,broken liquid tags @@ -329,8 +328,11 @@ translations/ja-JP/data/reusables/large_files/can-include-lfs-objects-archives.m translations/ja-JP/data/reusables/large_files/rejected_pushes.md,broken liquid tags translations/ja-JP/data/reusables/large_files/storage_assets_location.md,broken liquid tags translations/ja-JP/data/reusables/marketplace/install-buy.md,broken liquid tags +translations/ja-JP/data/reusables/organizations/team-synchronization.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/authenticate-packages.md,broken liquid tags -translations/ja-JP/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md,broken liquid tags +translations/ja-JP/data/reusables/package_registry/authenticate-to-container-registry-steps.md,broken liquid tags +translations/ja-JP/data/reusables/package_registry/container-registry-ghes-beta.md,broken liquid tags +translations/ja-JP/data/reusables/package_registry/container-registry-migration-namespaces.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/next-steps-for-packages-enterprise-setup.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/packages-cluster-support.md,broken liquid tags translations/ja-JP/data/reusables/package_registry/public-or-private-packages.md,Listed in localization-support#489 diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md index ef70e2e6bd..1babc6b945 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -1,6 +1,6 @@ --- title: Configurar e gerenciar sua conta pessoal no GitHub -intro: 'Você pode gerenciar as configurações da sua conta pessoal em {% data variables.product.prodname_dotcom %}, incluindo preferências de e-mail, acesso do colaborador a repositórios pessoais e associações da organização.' +intro: 'Você pode gerenciar as configurações da sua conta pessoal em {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, incluindo preferências de e-mail, acesso a repositórios pessoais e associações da organização. Você também pode gerir a própria conta.' shortTitle: Contas pessoais redirect_from: - /categories/setting-up-and-managing-your-github-user-account @@ -15,6 +15,7 @@ topics: - Accounts children: - /managing-personal-account-settings + - /managing-your-personal-account - /managing-email-preferences - /managing-access-to-your-personal-repositories - /managing-your-membership-in-organizations diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index 690f54559d..a020911dd7 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -1,6 +1,6 @@ --- title: Gerenciar configurações de conta de usuário -intro: 'Você pode alterar várias configurações de sua conta pessoal, inclusive alterar seu nome de usuário e excluir sua conta.' +intro: 'Você pode gerenciar configurações para sua conta pessoal, incluindo seu tema, nome de usuário, branchpadrão, acessibilidade e configurações de segurança.' redirect_from: - /categories/29/articles - /categories/user-accounts @@ -19,9 +19,6 @@ children: - /managing-your-theme-settings - /managing-your-tab-size-rendering-preference - /changing-your-github-username - - /merging-multiple-personal-accounts - - /converting-a-user-into-an-organization - - /deleting-your-personal-account - /permission-levels-for-a-personal-account-repository - /permission-levels-for-a-project-board-owned-by-a-personal-account - /managing-accessibility-settings @@ -29,7 +26,6 @@ children: - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards - /integrating-jira-with-your-personal-projects - - /best-practices-for-leaving-your-company - /what-does-the-available-for-hire-checkbox-do shortTitle: Configurações de conta pessoal --- diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md index 9719068936..9d730f08f4 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-your-theme-settings.md @@ -35,7 +35,7 @@ Você pode querer usar um tema escuro para reduzir o consumo de energia em certo {%- ifversion ghes = 3.5 %} {% note %} - **Note**: The light high contrast theme was unavailable in {% data variables.product.product_name %} 3.5.0, 3.5.1, 3.5.2, and 3.5.3. The theme is available in 3.5.4 and later. Para obter mais informações sobre atualizações, entre em contato com o administrador do site. + **Observação**: O tema de alto contraste claro não estava disponível em {% data variables.product.product_name %} 3.5.0, 3.5.1, 3.5.2 e 3.5.3. O tema está disponível na versão 3.5.4 e posterior. Para obter mais informações sobre atualizações, entre em contato com o administrador do site. Para obter mais informações sobre como determinar a versão do {% data variables.product.product_name %} que você está usando, consulte "[Sobre as versões de {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)" {% endnote %} diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md similarity index 96% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md index cc714f9807..e55d6f2599 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -6,6 +6,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/best-practices-for-leaving-your-company - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company versions: fpt: '*' ghec: '*' diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md similarity index 95% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md index 2976a52527..fdf72ae686 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -7,6 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization intro: Você pode converter a sua conta pessoal em uma organização. Isso permite permissões mais granulares para repositórios que pertencem à organização. versions: fpt: '*' @@ -66,5 +67,5 @@ Você também pode converter sua conta pessoal diretamente em uma organização. ## Leia mais - "[Configurar equipes](/articles/setting-up-teams)" -{% ifversion fpt or ghec %}- "[Convidar usuários para ingressar na organização](/articles/inviting-users-to-join-your-organization)"{% endif %} +{% ifversion fpt or ghec %}- "[Convidar usuários para participar da sua organização](/articles/inviting-users-to-join-your-organization)"{% endif %} - "[Acessar uma organização](/articles/accessing-an-organization)" diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md similarity index 63% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index 6ad4a153fd..786e626f24 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -1,39 +1,53 @@ --- title: Excluindo sua conta pessoal -intro: 'Você pode excluir sua conta pessoal em {% data variables.product.product_name %} a qualquer momento.' +intro: 'Você pode excluir sua conta pessoal em {% data variables.product.product_location %} a qualquer momento.' redirect_from: - /articles/deleting-a-user-account - /articles/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account versions: fpt: '*' ghes: '*' ghec: '*' topics: - Accounts -shortTitle: Excluir sua conta pessoal +shortTitle: Excluir sua conta --- -A exclusão da sua conta pessoal irá remover todos os repositórios, bifurcações de repositórios privados, wikis, problemas, pull requests e páginas pertencentes à sua conta. {% ifversion fpt or ghec %} Os problemas e as pull requests que você criou e os comentários que você fez nos repositórios pertencentes a outros usuários não serão excluídos. Em vez disso, eles serão associados ao nosso [usuário fantasma](https://github.com/ghost).{% else %}Os problemas e as pull requests que você criou e os comentários que você fez nos repositórios pertencentes a outros usuários não serão excluídos.{% endif %} +## Sobre a exclusão da sua conta pessoal -{% ifversion fpt or ghec %} Ao excluir a sua conta, nós paramos de cobrar você. O endereço de e-mail associado à conta fica disponível para uso com uma conta diferente no {% data variables.product.product_location %}. Após 90 dias, o nome da conta também fica disponível para qualquer pessoa usar em uma nova conta. {% endif %} +A exclusão da sua conta pessoal irá remover todos os repositórios, bifurcações de repositórios privados, wikis, problemas, pull requests e páginas pertencentes à sua conta. {% ifversion fpt or ghec %}Os problemas e pull requests que você criou e os comentários que você fez em repositórios pertencentes a outros usuários não serão excluídos. Seus recursos e comentários serão associados ao [usuário fantasma](https://github.com/ghost).{% else %}Os problemas e pull requests que você criou e os comentários que você fez em repositórios pertencentes a outros usuários não serão excluídos.{% endif %} + +{% ifversion ghec %} + +{% note %} + +**Observação**: Se sua empresa gerencia sua conta e você efetua o login em {% data variables.product.product_location %} por meio do provedor de identidade da sua empresa (IdP), você não poderá excluir sua conta. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)". + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %}Ao excluir a sua conta, nós cancelamos a cobrança. O endereço de e-mail associado à conta fica disponível para uso com uma conta diferente no {% data variables.product.product_location %}. Após 90 dias, o nome da conta também fica disponível para qualquer pessoa usar em uma nova conta. {% endif %} Se você é o único proprietário de uma organização, você deverá transferir a propriedade para outra pessoa ou excluir a organização antes de excluir a sua conta pessoal. Se houver outros proprietários na organização, você deverá remover-se da organização antes de excluir sua conta pessoal. -Para obter mais informações, consulte: +Para obter mais informações, consulte os seguintes artigos. + - "[Transferir a propriedade da organização](/articles/transferring-organization-ownership)" - "[Excluir uma conta de organização](/articles/deleting-an-organization-account)" - "[Remover a si mesmo de uma organização](/articles/removing-yourself-from-an-organization/)" ## Fazer backup dos dados da conta -Antes de excluir sua conta pessoal, faça uma cópia de todos os repositórios, bifurcações privadas, wikis, problemas e pull requests pertencentes à sua conta. +Antes de excluir sua conta pessoal, faça uma cópia de todos os repositórios, bifurcações privadas, wikis, problemas e pull requests pertencentes à sua conta. Para obter mais informações, consulte "[Backup de um repositório](/repositories/archiving-a-github-repository/backing-up-a-repository)". {% warning %} -**Aviso:** Uma vez que excluída a sua conta pessoal, o GitHub não poderá restaurar seu conteúdo. +**Aviso:** Após a exclusão da sua conta pessoal, {% ifversion fpt or ghec %}{% data variables.product.company_short %}{% elsif ghes or ghae %}dono de uma empresa{% endif %} não poderá restaurar seu conteúdo. {% endwarning %} diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 0000000000..8ac2f738ff --- /dev/null +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md @@ -0,0 +1,19 @@ +--- +title: Gerenciando sua conta pessoal +intro: 'Você pode gerenciar sua conta pessoal em {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. Por exemplo, você pode {% ifversion fpt or ghec %}gerenciar várias contas, {% endif %}converter uma conta para uma organização{% ifversion fpt or ghec or ghes %}ou excluir uma conta{% endif %}.' +shortTitle: Gerenciar conta pessoal +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /managing-multiple-accounts + - /merging-multiple-personal-accounts + - /converting-a-user-into-an-organization + - /best-practices-for-leaving-your-company + - /deleting-your-personal-account +--- + diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md new file mode 100644 index 0000000000..f934ef389c --- /dev/null +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md @@ -0,0 +1,105 @@ +--- +title: Gerenciando várias contas +intro: 'Se você usa uma estação de trabalho para contribuir com projetos para mais de uma conta em {% data variables.product.product_location %}, você pode modificar sua configuração do Git para simplificar o processo de contribuição.' +versions: + feature: multiple-accounts-one-workstation +topics: + - Accounts + - Git + - GitHub +shortTitle: Gerenciar várias contas +--- + +## Sobre a gestão de múltiplas contas + +Em alguns casos, é possível que você precise usar várias contas em {% data variables.product.product_location %}. Por exemplo, você pode ter uma conta pessoal para contribuições de código aberto, e seu empregador também pode criar e gerenciar uma conta de usuário para você dentro de uma empresa. + +Você não pode usar seu {% data variables.product.prodname_managed_user %} para contribuir para projetos públicos em {% data variables.product.product_location %}, portanto, você deve contribuir para esses recursos usando a sua conta pessoal. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" na documentação de {% data variables.product.prodname_ghe_cloud %}.{% elsif ghec %}{% endif %} + +Se você quiser usar uma estação de trabalho para contribuir a partir de ambas as contas, você poderá simplificar a contribuição com o Git usando uma mistura de protocolos para acessar os dados do repositório ou usando credenciais em cada repositório. + +{% warning %} + +**Aviso**: Tenha cuidado quando você usar uma estação de trabalho para contribuir com duas contas separadas. A gestão de duas ou mais contas pode aumentar a possibilidade de fuga de código interno para o público. + +{% endwarning %} + +Se você não tiver de usar um {% data variables.product.prodname_managed_user %}, {% data variables.product.company_short %} recomenda que você use uma conta pessoal para todo seu trabalho em {% data variables.product.product_location %}. Com uma única conta pessoal, você pode contribuir para uma combinação de projetos pessoais, de código aberto ou projetos profissionais usando uma identidade. Outras pessoas podem convidar a conta para contribuir tanto em repositórios individuais quanto em repositórios pertencentes a uma organização, e a conta pode ser integrante de múltiplas organizações ou empresas. + +## Contribuindo para duas contas usando HTTPS e SSH + +Se você contribuir com duas contas de uma estação de trabalho, você poderá acessar repositórios usando um protocolo e credenciais diferentes para cada conta. + +O Git pode usar o protocolo HTTPS ou SSH para acessar e atualizar os dados nos repositórios em {% data variables.product.product_location %}. O protocolo que você usa para clonar um repositório determina quais credenciais sua estação de trabalho usará para efetuar a autenticação quando você acessar o repositório. Com esta abordagem ao gerenciamento de contas, você armazena as credenciais para uma conta usar para conexões HTTPS e faz upload de uma chave SSH na outra conta para conexões SSH. + +Você pode encontrar ambos URLs HTTPS ou SSH para clonar um repositório em {% data variables.product.product_name %}. Para obter mais informações, consulte "[Clonar um repositório](/repositories/creating-and-managing-repositories/cloning-a-repository)". + +Para obter mais informações sobre o uso de SSH para acessar repositórios no {% data variables.product.product_name %}, consulte "[Conectando ao {% data variables.product.prodname_dotcom %} com SSH](/authentication/connecting-to-github-with-ssh)". + +## Contribuindo para várias contas usando HTTPS e PATs + +Como alternativa, se você quiser usar o protocolo HTTPS para ambas as contas, você pode usar diferentes tokens de acesso pessoal (PAT) para cada conta, configurando o Git para armazenar credenciais diferentes para cada repositório. + +{% mac %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + - Se a saída for `osxkeychain`, você irá usar o keychain do macOS. Para limpar as credenciais, informe o seguinte comando. + + ```shell{:copy} + git credential-osxkeychain erase https://github.com + ``` + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endmac %} + +{% windows %} + +1. Abra o Git Bash. +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} + - Se a saída for `wincred`, você irá usar o Gerenciador de Credenciais do Windows. Para limpar as credenciais, informe o seguinte comando. + + ```shell{:copy} + cmdkey /delete:LegacyGeneric:target=git:https://github.com + ``` +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endwindows %} + +{% linux %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endlinux %} + +## Contribuindo para várias contas usando SSH e `GIT_SSH_COMMAND` + +Se você quiser usar o protocolo SSH para ambas as contas, você poderá usar chaves SSH diferentes para cada conta. Para obter mais informações sobre como usar SSH, consulte "[Conectando a {% data variables.product.prodname_dotcom %} com SSH](/authentication/connecting-to-github-with-ssh)". + +Para usar uma chave SSH diferente para diferentes repositórios que você clonar na sua estação de trabalho, você deve escrever uma função de wrapper do shell para operações do Git. A função deve executar as seguintes etapas. +1. Determine o nome completo do repositório com proprietário, usando um comando como `git config --get remote.origin.url`. +2. Escolha a chave SSH correta para autenticação. +3. Modifique `GIT_SSH_COMMAND` apropriadamente. Para obter mais informações sobre `GIT_SSH_COMMAND`, consulte [Variáveis de Ambiente](https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHCOMMANDcode) na documentação do Git. + +Por exemplo, o comando a seguir define a variável de ambiente `GIT_SSH_COMMAND` para especificar um comando SSH que usa o arquivo de chave privada em **_PATH/TO/KEY/FILE_** para autenticação para clonar o repositório denominado **_OWNER_**/**_REPOSITORY_** em {% data variables.product.product_location %}. + +
+GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
+
diff --git a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md similarity index 94% rename from translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md rename to translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md index 559408d40b..aab9ad3b60 100644 --- a/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md +++ b/translations/pt-BR/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -8,12 +8,13 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts versions: fpt: '*' ghec: '*' topics: - Accounts -shortTitle: Fazer merge de várias contas pessoais +shortTitle: Fazer merge de múltiplas contas --- {% tip %} diff --git a/translations/pt-BR/content/actions/creating-actions/metadata-syntax-for-github-actions.md b/translations/pt-BR/content/actions/creating-actions/metadata-syntax-for-github-actions.md index 8d9ca0dce8..c595ffe054 100644 --- a/translations/pt-BR/content/actions/creating-actions/metadata-syntax-for-github-actions.md +++ b/translations/pt-BR/content/actions/creating-actions/metadata-syntax-for-github-actions.md @@ -354,7 +354,7 @@ runs: #### `runs.steps[*].with` -**Opcional** Um `mapa` dos parâmetros de entrada definidos pela ação. Cada parâmetro de entrada é um par chave/valor. For more information, see [Example: Specifying inputs](#example-specifying-inputs). +**Opcional** Um `mapa` dos parâmetros de entrada definidos pela ação. Cada parâmetro de entrada é um par chave/valor. Para obter mais informações, consulte [Exemplo: Especificando as entradas](#example-specifying-inputs). ```yaml runs: @@ -475,7 +475,7 @@ runs: ## `branding` -**Optional** You can use a color and [Feather](https://feathericons.com/) icon to create a badge to personalize and distinguish your action. Os selos são exibidos ao lado do nome da sua ação em [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions). +**Opcional** Você pode usar uma cor e o ícone [Pena](https://feathericons.com/) para criar um emblema para personalizar e distinguir sua ação. Os selos são exibidos ao lado do nome da sua ação em [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions). ### Exemplo: Configurar a marca para uma ação diff --git a/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md b/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md index cc2b51f8ac..49c4a1a9a5 100644 --- a/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md +++ b/translations/pt-BR/content/actions/creating-actions/publishing-actions-in-github-marketplace.md @@ -38,10 +38,10 @@ Você pode adicionar a ação que você criou em {% data variables.product.prodn Para compartilhar uma nova versão e publicar a ação em {% data variables.product.prodname_marketplace %}, siga essas instruções: {% data reusables.repositories.navigate-to-repo %} -1. Navigate to the action metadata file in your repository (`action.yml` or `action.yaml`), and you'll see a banner to publish the action to {% data variables.product.prodname_marketplace %}. Clique em **Elaborar uma versão**. +1. Acesse o arquivo de metadados de ação no repositório (`action.yml` ou `. aml`), e você verá um banner para publicar a ação em {% data variables.product.prodname_marketplace %}. Clique em **Elaborar uma versão**. - ![Publish this action to marketplace button](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) -1. Under "Release Action", select the checkbox to publish the action to the {% data variables.product.prodname_marketplace %}. If you can't select the checkbox, you must first click the link to read and accept the {% data variables.product.prodname_marketplace %} Developer Agreement. ![Selecione publicar no "Marketplace"](/assets/images/help/repository/marketplace_actions_publish.png) + ![Publicar esta ação no botão marketplace](/assets/images/help/repository/publish-github-action-to-marketplace-button.png) +1. Em "Ação de versão", selecione a caixa de seleção para publicar a ação em {% data variables.product.prodname_marketplace %}. Se você não puder selecionar a caixa de seleção, primeiro clique no link para ler e aceitar o Contrato de Desenvolvedor de {% data variables.product.prodname_marketplace %}. ![Selecione publicar no "Marketplace"](/assets/images/help/repository/marketplace_actions_publish.png) 1. Se as etiquetas do seu arquivo de metadados tiverem algum problema, você receberá uma mensagem de erro. ![Veja a notificação](/assets/images/help/repository/marketplace_actions_fixerrors.png) 1. Se você ver alguma sugestão na tela, resolva-as atualizando o arquivo de metadados. Após a conclusão, você receberá a mensagem "Tudo está OK". ![Corrigir erros](/assets/images/help/repository/marketplace_actions_looksgood.png) 1. Escolha uma "categoria primária" e, opcionalmente, "outra categoria", que ajudará as pessoas a encontrar a sua ação em {% data variables.product.prodname_marketplace %}. ![Escolha a categoria](/assets/images/help/repository/marketplace_actions_categories.png) diff --git a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index de8f1ed041..869340012d 100644 --- a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -73,6 +73,7 @@ O exemplo a seguir do token do OIDC usa um assunto (`sub`) que faz referência a "repository": "octo-org/octo-repo", "repository_owner": "octo-org", "actor_id": "12", + "repo_visibility": private, "repository_id": "74", "repository_owner_id": "65", "run_id": "example-run-id", @@ -130,6 +131,7 @@ O token também inclui reivindicações personalizadas fornecidas por {% data va | `job_workflow_ref` | Este é o caminho ref para o fluxo de trabalho reutilizável usado por este trabalho. Para obter mais informações, consulte "["Usando o OpenID Connect com fluxos de trabalho reutilizáveis"](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows). | | `ref` | _(Referência)_ A ref do git que acionou a execução do fluxo de trabalho. | | `ref_type` | O tipo de `ref`, por exemplo: "branch". | +| `repo_visibility` | A visibilidade do repositório onde o fluxo de trabalho está em execução. Aceita os seguintes valores: `interno`, `privado` ou `público`. | | `repositório` | O repositório de onde o fluxo de trabalho está sendo executado. | | `repository_id` | O ID do repositório de onde o fluxo de trabalho está sendo executado. | | `repository_owner` | O nome da organização em que o `repositório` é armazenado. | @@ -145,11 +147,11 @@ Com o OIDC, um fluxo de trabalho de {% data variables.product.prodname_actions % As reivindicações de Audiência e Assunto são normalmente usadas em combinação, ao definir as condições da função/recursos em nuvem para definir o escopo do seu acesso aos fluxos de trabalho do GitHub. - **Audiência**: Por padrão, esse valor usa a URL do proprietário da organização ou do repositório. Isto pode ser usado para definir uma condição para que apenas os fluxos de trabalho na organização específica possam acessar a função da nuvem. -- **Assunto**: Tem um formato predefinido e é uma concatenação de alguns dos metadados da chave sobre o fluxo de trabalho como, por exemplo, a organização, repositório, branch de {% data variables.product.prodname_dotcom %} ou [`trabalho`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) associado. Consulte "[Exemplo de assunto reivindica](#example-subject-claims)" para ver como a reivindicação de assunto é montada a partir de metadados concatenados. +- **Subject**: By default, has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. Consulte "[Exemplo de assunto reivindica](#example-subject-claims)" para ver como a reivindicação de assunto é montada a partir de metadados concatenados. -Há também muitas reivindicações adicionais compatíveis com o token do OIDC que também podem ser usadas para definir essas condições. +If you need more granular trust conditions, you can customize the issuer (`iss`) and subject (`sub`) claims that are included with the JWT. For more information, see "[Customizing the token claims](#customizing-the-token-claims)". -Além disso, seu provedor de nuvem poderia permitir que você atribuísse uma função aos tokens de acesso, permitindo que você especifique ainda mais permissões granulares. +There are also many additional claims supported in the OIDC token that can be used for setting these conditions. Além disso, seu provedor de nuvem poderia permitir que você atribuísse uma função aos tokens de acesso, permitindo que você especifique ainda mais permissões granulares. {% note %} @@ -240,6 +242,197 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% data reusables.actions.oidc-permissions-token %} +{% ifversion actions-oidc-hardening-config %} +## Personalizando as reivindicações de token + +Você pode garantir a segurança da sua configuração do OIDC personalizando as reivindicações incluídas com a JWT. These customisations allow you to define more granular trust conditions on your cloud roles when allowing your workflows to access resources hosted in the cloud: + +{% ifversion ghec %} - For an additional layer of security, you can append the `issuer` url with your enterprise slug. This lets you set conditions on the issuer (`iss`) claim, configuring it to only accept JWT tokens from a unique `issuer` URL that must include your enterprise slug.{% endif %} +- You can standardize your OIDC configuration by setting conditions on the subject (`sub`) claim that require JWT tokens to originate from a specific repository, reusable workflow, or other source. +- You can define granular OIDC policies by using additional OIDC token claims, such as `repository_id` and `repo_visibility`. Para obter mais informações, consulte "[Compreendendo o token do OIDC](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)". + +To customize these claim formats, organization and repository admins can use the REST API endpoints described in the following sections. + +{% ifversion ghec %} + +### Mudando para um URL único de token + +Por padrão, o JWT é emitido pelo provedor de OIDC de {% data variables.product.prodname_dotcom %} em `https://token.actions.githubusercontent.com`. Esse caminho é apresentado ao seu provedor de nuvem usando o valor de `iss` no JWT. + +Os administradores da empresa podem fortalecer a configuração do OIDC, configurando as suas empresas para receber tokens de um URL único em `https://api. ithub.com/enterprises//actions/oidc/customization/issuer`. Substitua `` pelo valor slug da sua empresa. + +Essa configuração significa que sua empresa receberá o token do OIDC de uma URL exclusiva, e você poder, a em seguida, configurar seu provedor de nuvem para aceitar apenas tokens dessa URL. Isso ajuda a garantir que apenas os repositórios da empresa podem acessar seus recursos na nuvem usando OIDC. + +Para ativar essa configuração para sua empresa, um administrador da empresa deve usar o ponto de extremidade `/enterprises/{enterprise}/actions/oidc/customization/issuer` e especificar `"include_enterprise_slug": true` no texto da solicitação. Para obter mais informações, consulte "[Definir a política do emissor personalizado do OIDC de {% data variables.product.prodname_actions %} para uma empresa](/rest/actions/oidc#set-the-github-actions-oidc-custom-issuer-policy-for-an-enterprise)". + +Depois que esta configuração for aplicada, o JWT conterá o valor atualizado de `iss`. No exemplo a seguir, a chave `iss` usa `octocat-inc` como seu valor de `enterpriseSlug`: + +```json +{ + "jti": "6f4762ed-0758-4ccb-808d-ee3af5d723a8" + "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" + "aud": "http://octocat-inc.example/octocat-inc" + "enterprise": "octocat-inc" + "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Personalizando as reivindicações de assunto para uma organização + +Para configurar a segurança, conformidade e padronização em toda a organização, você pode personalizar as reivindicações padrão que atendem às suas condições de acesso necessárias. Se seu provedor de nuvem é compatível com condições para reivindicações de objetos, você pode criar uma condição que verifica se o valor `sub` corresponde ao caminho do fluxo de trabalho reutilizável, como `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. O formato exato irá variar dependendo da configuração do OIDC do seu provedor de nuvem. Para configurar a condição de correspondência em {% data variables.product.prodname_dotcom %}, você pode usar a API REST para exigir que a reivindicação do `sub` deva sempre incluir uma reivindicação personalizada, como `job_workflow_ref`. Para obter mais informações, consulte "[Definir o modelo de personalização para uma reivindicação de assunto do OIDC para uma organização](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". + +Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." + +Os modelos de exemplo a seguir demonstram várias maneiras de personalizar a reivindicação de assunto. Para configurar estas configurações em {% data variables.product.prodname_dotcom %}, os administradores da organização usam a API REST para especificar uma lista de reclamações que devem ser incluídas no assunto (`sub`) da reclamação. {% data reusables.actions.use-request-body-api %} + +To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before customizing the configuration using the REST API. Uma vez que a configuração estiver concluída, cada vez que um novo trabalho for executado, o token do OIDC gerado durante aquele trabalho seguirá o novo modelo de personalização. Se a condição de correspondência não existir na configuração do OIDC do provedor de nuvem antes de o trabalho ser executado, o token gerado poderá não ser aceito pelo provedor da nuvem, já que as condições da nuvem podem não ser sincronizadas. + +{% note %} + +**Observação**: Quando o modelo de organização é aplicado, ele não afetará nenhum repositório existente que já usa o OIDC. For existing repositories, as well as any new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. Para obter mais informações, consulte "[Definir o sinalizador da opção de participação da personalização da reivindicação de assunto do OIDC para um repositório](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)". + +{% endnote %} + +#### Exemplo: Permitir o repositório com base na visibilidade e no proprietário + +This example template allows the `sub` claim to have a new format, using `repository_owner` and `repository_visibility`: + +```json +{ + "include_claim_keys": [ + "repository_owner", + "repository_visibility" + ] +} +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações inculam valores específicos para `repository_owner` e `repository_visibility`. Por exemplo: `"repository_owner: "monalisa":repository_visibility:private"`. The approach lets you restrict cloud role access to only private repositories within an organization or enterprise. + +#### Exemplo: Permitir acesso a todos os repositórios com um proprietário específico + +This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner" + ] +} + +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações incluam um valor específico para `repository_owner`. Por exemplo: `"repository_owner: "monalisa""` + +#### Exemplo: Exigindo um fluxo de trabalho reutilizável + +This example template allows the `sub` claim to have a new format that contains the value of the `job_workflow_ref` claim. This enables an enterprise to use [reusable workflows](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims) to enforce consistent deployments across its organizations and repositories. + +{% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "job_workflow_ref" + ] + } +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações incluam um valor específico para `job_workflow_ref`. Por exemplo: `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. + +#### Exemplo: Exigindo um fluxo de trabalho reutilizável e outras reivindicações + +The following example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} + +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. + +```json +{ + "include_claim_keys": [ + "repo", + "context", + "job_workflow_ref" + ] +} +``` + +Na configuração OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações inculam valores específicos para `repo`, `context` e `job_workflow_ref`. + +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` + +#### Exemplo: Conceder acesso a um repositório específico + +Este modelo de exemplo permite conceder acesso na nuvem a todos os fluxos de trabalho em um repositório específico, em todos os branches, tags e ambientes. Para ajudar a melhorar a segurança, combine este modelo com a URL do emissor personalizado descrita em "[Personalizando a URL do token para uma empresa](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." + +{% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo" + ] +} +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir uma reivindicação de `repositório` que corresponda ao valor necessário. + +#### Exemplo: Usando GUIDs gerados pelo sistema + +Este modelo de exemplo habilita as reivindicações previsíveis do OIDC com GUIDs geradas pelo sistema que não mudam entre renomeações de entidades (como renomear um repositório). {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "repository_id" + ] + } +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir a reivindicação de `repository_id` que corresponde ao valor necessário. + +ou: + +```json +{ + "include_claim_keys": [ + "repository_owner_id" + ] +} +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir uma reivindicação de `repository_owner_id` que corresponde ao valor necessário. + +#### Redefinindo suas personalizações + +Este modelo de exemplo redefine as reivindicações de assunto para o formato padrão. {% data reusables.actions.use-request-body-api %} Este modelo efetivamente opta por não participar de qualquer política de personalização no nível da organização. + +```json +{ + "include_claim_keys": [ + "repo", + "context" + ] +} +``` + +Na configuração do OIDC do seu provedor de nuvem, configure a condição `sub` para exigir que as reivindicações incluam valores específicos para `repo` e `contexto`. + +#### Usando as reivindicações de assunto padrão + +Para repositórios que podem receber uma política de reivindicação de assuntos da sua organização, o proprietário do repositório pode optar por não participar e, em vez disso, usar o formato padrão `sub` para solicitação. Para configurar isso, o administrador do repositório deve usar o ponto de extremidade da API REST em"[Definir o sinalizador para não participar da personalização da reivindicação de assunto do OIDC para um repositório](/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository)" com o seguinte texto de solicitação: + +```json +{ + "use_default": true +} +``` + +{% endif %} + ## Atualizando seus fluxos de trabalho para o OIDC Agora você pode atualizar seus fluxos de trabalho do YAML para usar tokens de acesso do OIDC em vez de segredos. Os provedores de nuvem populares publicaram suas ações de login oficiais que facilitam o seu início de sessão com o OIDC. Para obter mais informações sobre a atualização dos seus fluxos de trabalho, consulte os guias específicos da nuvem listados abaixo em "[Habilitando o OpenID Connect para o seu provedor de nuvem](#enabling-openid-connect-for-your-cloud-provider)". diff --git a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index 7014cad6f4..954201a345 100644 --- a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -32,10 +32,52 @@ Este guia fornece uma visão geral sobre como configurar o cofre HashiCorp para Para usar OIDC com oHashiCorp Vault, você deverá adicionar uma configuração de confiança ao provedor do OIDC de {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte a [documentação](https://www.vaultproject.io/docs/auth/jwt) do HashiCorp Vault. -Configure o cofre para aceitar tokens web do JSON (JWT) para a autenticação: -- Para o `oidc_discovery_url`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Para `bound_issuer`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- Certifique-se de que `bound_subject` esteja corretamente definido para seus requisitos de segurança. Para obter mais informações, consulte ["Configurar a confiança do OIDC com a nuvem"](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud) e [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action). +Para configurar o seu servidor Vault para aceitar o JSON Web Tokens (JWT) para autenticação: + +1. Habilite o método de autenticação `JWT` e use `gravar` para aplicar a configuração do seu Vault. Para os parâmetros `oidc_discovery_url` e `bound_issuer`, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. Estes parâmetros permitem que o servidor do Vault verifique os JSON Web Tokens recebidos (JWT) durante o processo de autenticação. + + ```sh{:copy} + vault auth enable jwt + ``` + + ```sh{:copy} + vault write auth/jwt/config \ + bound_issuer="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" \ + oidc_discovery_url="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" + ``` +2. Configure uma política que concede apenas acesso aos caminhos específicos que seus fluxos de trabalho serão usados para recuperar segredos. Para políticas mais avançadas, consulte o as [Políticas documentação](https://www.vaultproject.io/docs/concepts/policies) do HashiCorp Vault. + + ```sh{:copy} + vault policy write myproject-production - <`: Substitua isso pela URL do seu HashiCorp Vault. +- ``: Substitu-o pelo Namespace que você colocou no HashiCorp Vault. Por exemplo: `administrador`. - ``: Substitua isso pela função que você definiu no relacionamento de confiança do HashiCorp Vault. -- ``: Substitua isso pela audiência que você definiu no relacionamento de confiança do HashiCorp Vault. -- ``: Substitua isso pelo caminho para o segredo que você está recuperando do HashiCorp Vault. Por exemplo: `secret/data/ci npmToken`. +- ``: Substitua isso pelo caminho para o segredo que você está recuperando do HashiCorp Vault. Por exemplo: `secret/data/production/ci npmToken`. ```yaml{:copy} jobs: - retrieve-secret: - steps: - - name: Retrieve secret from Vault - uses: hashicorp/vault-action@v2.4.0 - with: - url: - role: - method: jwt - jwtGithubAudience: - secrets: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + method: jwt + url: + namespace: + role: + secrets: - - name: Use secret from Vault - run: | - # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. +``` + +{% note %} + +**Observação**: + +- Se o seu servidor do Vault não puder ser acessado a partir da rede pública, considere usar um executor auto-hospedado com outros [auth methods](https://www.vaultproject.io/docs/auth) disponíveis para o Vault. Para obter mais informações, consulte "[Sobre os executores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners)." +- `` deve ser definido para uma implantação da empresa do Vault (incluindo HCP Vault). Para obter mais informações, consulte [Namespace do Vault](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Revogando o token de acesso + +Por padrão, o servidor do Vault irá revogar automaticamente os tokens de acesso quando seu TTL vencer, portanto, você não precisa revogar manualmente os tokens de acesso. No entanto, se você deseja revogar os tokens de acesso imediatamente após o seu trabalho terminar ou falhar, você poderá revogar manualmente o token emitido usando a API do Vault [](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Defina a opção `exportToken` como `verdadeiro` (padrão: `falso`). Isso exporta o token de acesso do Vault emitido como uma variável de ambiente: `VAULT_TOKEN`. +2. Adicione um passo para chamar a API do Vault [Revogar um Token (Self)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self) para revogar o token de acesso. + +```yaml{:copy} +jobs: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + exportToken: true + method: jwt + url: + role: + secrets: + + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + + - name: Revoke token + # This step always runs at the end regardless of the previous steps result + if: always() + run: | + curl -X POST -sv -H "X-Vault-Token: {% raw %}${{ env.VAULT_TOKEN }}{% endraw %}" \ + /v1/auth/token/revoke-self ``` diff --git a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md index 92913fb61b..4d48131871 100644 --- a/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md +++ b/translations/pt-BR/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md @@ -23,11 +23,18 @@ topics: Em vez de copiar e colar trabalhos de implantação de um fluxo de trabalho para outro, é possível criar um fluxo de trabalho reutilizável que executa as etapas de implantação. Um fluxo de trabalho reutilizável pode ser usado por outro fluxo de trabalho se ele cumprir um dos requisitos de acesso descritos em "[Reutilizando os fluxos de trabalho](/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows)". -Quando combinado com o OpenID Connect (OIDC), os fluxos de trabalho reutilizáveis permitem que você aplique implantações consistentes no seu repositório, organização ou empresa. Você pode fazer isso definindo condições de confiança nas funções da nuvem com base em fluxos de trabalho reutilizáveis. +You should be familiar with the concepts described in "\[Reusing workflows\](/actions/learn-github-actions/reusing-workflows" and "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)." -Para criar condições de confiança com base em fluxos de trabalho reutilizáveis, o seu provedor de nuvem deve ser compatível com reivindicações personalizadas para `job_workflow_ref`. Isso permite que seu provedor de nuvem identifique de qual repositório veio originalmente. Se o seu provedor de nuvem é compatível apenas as reivindicações padrão (_audiência_ e _assunto_), não poderá determinar que o trabalho teve origem no repositório do fluxo de trabalho reutilizável. Os provedores de nuvem que sao compatíveis com `job_workflow_ref` incluem Google Cloud Platform e HashiCorp Vault. +## Defining the trust conditions -Antes de prosseguir, você deve estar familiarizado com os conceitos de [fluxos de trabalho reutilizáveis](/actions/learn-github-actions/reusing-workflows) e [OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect). +Quando combinado com o OpenID Connect (OIDC), os fluxos de trabalho reutilizáveis permitem que você aplique implantações consistentes no seu repositório, organização ou empresa. Você pode fazer isso definindo condições de confiança nas funções da nuvem com base em fluxos de trabalho reutilizáveis. The available options will vary depending on your cloud provider: + +- **Using `job_workflow_ref`**: + - To create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. Isso permite que seu provedor de nuvem identifique de qual repositório veio originalmente. + - For clouds that only support the standard claims (audience (`aud`) and subject (`sub`)), you can use the API to customize the `sub` claim to include `job_workflow_ref`. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". Support for custom claims is currently available for Google Cloud Platform and HashiCorp Vault. + +- **Customizing the token claims**: + - You can configure more granular trust conditions by customizing the issuer (`iss`) and subject (`sub`) claims included with the JWT. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". ## Como o token funciona com fluxos de trabalho reutilizáveis diff --git a/translations/pt-BR/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/translations/pt-BR/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index 6cfca875f7..b6f83dd5c5 100644 --- a/translations/pt-BR/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/translations/pt-BR/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -18,15 +18,23 @@ shortTitle: Executar o executor ao iniciar {% capture service_first_step %}1. Pare o aplicativo do executor auto-hospedado se estiver em execução no momento.{% endcapture %} {% capture service_non_windows_intro_shell %}Na máquina, abra um shell no diretório onde você instalou o aplicativo do executor auto-hospedado. Use os comandos abaixo para instalar e gerenciar o serviço do executor auto-hospedado.{% endcapture %} -{% capture service_nonwindows_intro %}Você deve adicionar um executor a {% data variables.product.product_name %} antes de poder configurar o aplicativo do executor auto-hospedado um serviço. Para obter mais informações, consulte "[Adicionando executores auto-hospedados](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)".{% endcapture %} -{% capture service_win_name %}actions.runner.*{% endcapture %} +{% capture service_nonwindows_intro %} + +{% note %} + +**Observação:** Você precisa adicionar um executor a {% data variables.product.product_name %} antes de poder configurar o aplicativo do executor auto-hospedado como um serviço. Para obter mais informações, consulte "[Adicionando executores auto-hospedados](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)". + +{% endnote %} +{% endcapture %} + +{% capture service_win_name %}actions.runner.*{% endcapture %} {% linux %} {{ service_nonwindows_intro }} -Para os sistemas Linux que usam o `systemd`, você pode usar o script `svc. h` distribuído com o aplicativo do executor auto-hospedado para instalação e gerenciamento usando o aplicativo como um serviço. +Para sistemas Linux que usam `systemd`, você pode usar o `svc.sh` que é criado após adicionar com sucesso o executor para instalar e gerenciar usar o aplicativo como um serviço. {{ service_non_windows_intro_shell }} diff --git a/translations/pt-BR/content/actions/learn-github-actions/contexts.md b/translations/pt-BR/content/actions/learn-github-actions/contexts.md index d1d17ceb96..9be283a94d 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/contexts.md +++ b/translations/pt-BR/content/actions/learn-github-actions/contexts.md @@ -33,17 +33,13 @@ Você pode acessar contextos usando a sintaxe da expressão. Para obter mais inf {% data reusables.actions.context-injection-warning %} -| Nome do contexto | Tipo | Descrição | -| ---------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `github` | `objeto` | Informações sobre a execução do fluxo de trabalho. Para obter mais informações, consulte [contexto `github`](#github-context). | -| `env` | `objeto` | Contém variáveis de ambiente definidas em um fluxo de trabalho, trabalho ou etapa. Para obter mais informações, consulte o contexto [`env`](#env-context). | -| `trabalho` | `objeto` | Informações sobre o trabalho atualmente em execução. Para obter mais informações, consulte [contexto `trabalho`](#job-context). | -| `steps` | `objeto` | Informações sobre as etapas que foram executadas no trabalho atual. Para obter mais informações, consulte [contexto `etapas`](#steps-context). | -| `runner` | `objeto` | Informações sobre o executor do trabalho atual. Para obter mais informações, consulte [`runner` context](#runner-context). | -| `secrets` | `objeto` | Contém nomes e valores de segredos que estão disponíveis para a execução de um fluxo de trabalho. Para obter mais informações, consulte o contexto [`segredos`](#secrets-context). | -| `strategy` | `objeto` | Informações sobre a estratégia de execução da matriz para o trabalho atual. Para obter mais informações, consulte o contexto [`estratégia`](#strategy-context). | -| `matrix` | `objeto` | Contém as propriedades da matriz definidas no fluxo de trabalho que se aplicam ao trabalho atual. Para obter mais informações, consulte o contexto [`matriz`](#matrix-context). | -| `needs` | `objeto` | Contém os resultados de todos os trabalhos que são definidos como uma dependência do trabalho atual. Para obter mais informações, consulte o contexto [`needs`](#needs-context). | +| Nome do contexto | Tipo | Descrição | +| ---------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `github` | `objeto` | Informações sobre a execução do fluxo de trabalho. Para obter mais informações, consulte [contexto `github`](#github-context). | +| `env` | `objeto` | Contém variáveis de ambiente definidas em um fluxo de trabalho, trabalho ou etapa. Para obter mais informações, consulte o contexto [`env`](#env-context). | +| `trabalho` | `objeto` | Informações sobre o trabalho atualmente em execução. Para obter mais informações, consulte [contexto `trabalho`](#job-context). | +{%- ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} +| `jobs` | `object` | Para apenas para fluxos de trabalho reutilizáveis, contém saídas de trabalhos do fluxo de trabalho reutilizável. Para obter mais informações, consulte [contexto `trabalhos`](#jobs-context). |{% endif %} | `steps` | `object` | Informações sobre as etapas que foram executadas no trabalho atual. Para obter mais informações, consulte [contexto `etapas`](#steps-context). | | `runner` | `object` | Informações sobre o executor que está executando o trabalho atual. Para obter mais informações, consulte [`runner` context](#runner-context). | | `segredos` | `objeto` | Contém os nomes e valores dos segredos que estão disponíveis para uma execução de fluxo de trabalho. Para obter mais informações, consulte o contexto [`segredos`](#secrets-context). | | `strategy` | `object` | Informações sobre a estratégia de execução da matriz para o trabalho atual. Para obter mais informações, consulte o contexto [`estratégia`](#strategy-context). | | `strategy` | `object` | Contém as propriedades da matriz definidas no fluxo de trabalho que se aplicam ao trabalho atual. Para obter mais informações, consulte o contexto [`matriz`](#matrix-context). | | `needs` | `object` | Contém os resultados de todos os trabalhos que são definidos como uma dependência do trabalho atual. Para obter mais informações, consulte o contexto [`needs`](#needs-context). | {%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %} | `entradas` | `objeto` | Contém as entradas de {% ifversion actions-unified-inputs %} reutilizável ou um fluxo de travalho acionado {% endif %} manualmente. Para obter mais informações, consulte o contexto [`entradas`](#inputs-context). |{% endif %} @@ -84,7 +80,7 @@ A tabela a seguir indica onde cada contexto e função especial pode ser utiliza | jobs.<job_id>.name | github, necessidades, estratégia, matriz, entradas | | | jobs.<job_id>.outputs.<output_id> | github, necessidades, estratégia, matriz, trabalho, executor, env, segredos, etapas, entradas | | | jobs.<job_id>.runs-on | github, necessidades, estratégia, matriz, entradas | | -| jobs.<job_id>.secrets.<secrets_id> | github, needs,{% ifversion actions-reusable-workflow-matrix %} strategy, matrix,{% endif %} secrets{% ifversion actions-unified-inputs %}, inputs{% endif %} | | +| jobs.<job_id>.secrets.<secrets_id> | github, necessidades, estratégia de {% ifversion actions-reusable-workflow-matrix %}, matriz,{% endif %} segredos{% ifversion actions-unified-inputs %}, entradas{% endif %} | | | jobs.<job_id>.services | github, necessidades, estratégia, matriz, entradas | | | jobs.<job_id>.services.<service_id>.credentials | github, necessidades, estratégia, matrix, env, segredos, entradas | | | jobs.<job_id>.services.<service_id>.env.<env_id> | github, necessidades, estratégia, matrix, trabalho, executor, env, segredos, entradas | | @@ -98,7 +94,7 @@ A tabela a seguir indica onde cada contexto e função especial pode ser utiliza | jobs.<job_id>.steps.working-directory | github, necessidades, estratégia, matriz, trabalho, executor, env, segredos, etapas, entradas | hashFiles | | jobs.<job_id>.strategy | github, necessidades, entradas | | | jobs.<job_id>.timeout-minutes | github, necessidades, estratégia, matriz, entradas | | -| jobs.<job_id>.with.<with_id> | github, needs{% ifversion actions-reusable-workflow-matrix %}, strategy, matrix{% endif %}{% ifversion actions-unified-inputs %}, inputs{% endif %} | | +| jobs.<job_id>.with.<with_id> | github, necessidades{% ifversion actions-reusable-workflow-matrix %}, estratégia, matriz{% endif %}{% ifversion actions-unified-inputs %}, entradas{% endif %} | | | on.workflow_call.inputs.<inputs_id>.default | github{% ifversion actions-unified-inputs %}, inputs{% endif %} | | | on.workflow_call.outputs.<output_id>.value | github, jobs, inputs | | {% else %} @@ -200,7 +196,7 @@ O contexto `github` context contém informações sobre a execução do fluxo de {%- ifversion fpt or ghec or ghes > 3.5 or ghae-issue-4722 %} | `github.run_attempt` | `string` | Um número exclusivo para cada tentativa de execução de um fluxo de trabalho específico em um repositório. Este número começa em 1 para a primeira tentativa de execução do fluxo de trabalho e aumenta a cada nova execução. | {%- endif %} -| `github.server_url` | `string` | A URL do servidor do GitHub. Por exemplo: `https://github.com`. | | `github.sha` | `string` | {% data reusables.actions.github_sha_description %} | | `github.token` | `string` | A token to authenticate on behalf of the GitHub App installed on your repository. Isso é funcionalmente equivalente ao segredo `GITHUB_TOKEN`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)".
Observação: Esta propriedade de contexto é definida pelo executor do Actions e só está disponível dentro da execução `etapas` de um trabalho. Caso contrário, o valor desta propriedade será `nulo`. |{% ifversion actions-stable-actor-ids %} | `github.triggering_actor` | `string` | O nome de usuário do usuário que iniciou a execução do fluxo de trabalho. Se a execução do fluxo de trabalho for uma nova execução, este valor poderá ser diferente de `github.actor`. Qualquer repetição de fluxo de trabalho usará os privilégios de `github.actor`, mesmo se o ator que iniciar a nova execução (`github.triggering_actor`) tiver privilégios diferentes. |{% endif %} | `github.workflow` | `string` | O nome do fluxo de trabalho. Se o fluxo de trabalho não determina um `name` (nome), o valor desta propriedade é o caminho completo do arquivo do fluxo de trabalho no repositório. | | `github.workspace` | `string` | O diretório de trabalho padrão no executor para as etapas e a localidade padrão do seu repositório ao usar a ação [`checkout`](https://github.com/actions/checkout). | +| `github.server_url` | `string` | A URL do servidor do GitHub. Por exemplo: `https://github.com`. | | `github.sha` | `string` | {% data reusables.actions.github_sha_description %} | | `github.token` | `string` | Um token para efetuar a autenticação em nome do aplicativo GitHub instalado no seu repositório. Isso é funcionalmente equivalente ao segredo `GITHUB_TOKEN`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)".
Observação: Esta propriedade de contexto é definida pelo executor do Actions e só está disponível dentro da execução `etapas` de um trabalho. Caso contrário, o valor desta propriedade será `nulo`. |{% ifversion actions-stable-actor-ids %} | `github.triggering_actor` | `string` | O nome de usuário do usuário que iniciou a execução do fluxo de trabalho. Se a execução do fluxo de trabalho for uma nova execução, este valor poderá ser diferente de `github.actor`. Qualquer repetição de fluxo de trabalho usará os privilégios de `github.actor`, mesmo se o ator que iniciar a nova execução (`github.triggering_actor`) tiver privilégios diferentes. |{% endif %} | `github.workflow` | `string` | O nome do fluxo de trabalho. Se o fluxo de trabalho não determina um `name` (nome), o valor desta propriedade é o caminho completo do arquivo do fluxo de trabalho no repositório. | | `github.workspace` | `string` | O diretório de trabalho padrão no executor para as etapas e a localidade padrão do seu repositório ao usar a ação [`checkout`](https://github.com/actions/checkout). | ### Exemplo de conteúdo do contexto `github` @@ -390,6 +386,72 @@ jobs: - run: ./run-tests ``` +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} + +## contexto `trabalhos` + +O contexto `trabalhos` só está disponível em fluxos de trabalho reutilizáveis e só pode ser usado para definir saídas para um fluxo de trabalho reutilizável. Para obter mais informações, consulte "[Reutilizando fluxos de trabalho](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)". + +| Nome da propriedade | Tipo | Descrição | +| ------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `jobs` | `objeto` | Isso só está disponível em fluxos de trabalho reutilizáveis e só pode ser usado para definir saídas para um fluxo de trabalho reutilizável. Este objeto contém todas as propriedades listadas abaixo. | +| `jobs..result` | `string` | O resultado de um trabalho no fluxo de trabalho reutilizável. Os valores possíveis são: `sucesso`, `falha`, `cancelado`ou `ignorado`. | +| `jobs..outputs` | `objeto` | O conjunto de resultados de um trabalho em um fluxo de trabalho reutilizável. | +| `jobs..outputs.` | `string` | O valor de uma saída específica para um trabalho em um fluxo de trabalho reutilizável. | + +### Exemplo de conteúdo do contexto `trabalhos` + +Este exemplo do contexto `trabalhos` contém o resultado e as saídas de um trabalho de uma execução reutilizável. + +```json +{ + example_job: { + result: success, + outputs: { + output1: hello, + output2: world + } + } +} +``` + +### Exemplo de uso do contexto `trabalhos` + +Este exemplo de fluxo de trabalho reutilizável usa o contexto `trabalhos` para definir saídas para o fluxo de trabalho reutilizável. Observe como as saídas fluem das etapas, para o trabalho, e depois para o gatilho `workflow_call`. Para obter mais informações, consulte "[Reutilizando fluxos de trabalho](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)". + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + firstword: + description: "The first output string" + value: ${{ jobs.example_job.outputs.output1 }} + secondword: + description: "The second output string" + value: ${{ jobs.example_job.outputs.output2 }} + +jobs: + example_job: + name: Generate output + runs-on: ubuntu-latest + # Map the job outputs to step outputs + outputs: + output1: ${{ steps.step1.outputs.firstword }} + output2: ${{ steps.step2.outputs.secondword }} + steps: + - id: step1 + run: echo "::set-output name=firstword::hello" + - id: step2 + run: echo "::set-output name=secondword::world" +``` +{% endraw %} + +{% endif %} + ## Contexto `etapas` O contexto `etapas` contém informações sobre as etapas do trabalho atual que possuem um [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) especificado e já executado. diff --git a/translations/pt-BR/content/actions/learn-github-actions/environment-variables.md b/translations/pt-BR/content/actions/learn-github-actions/environment-variables.md index 44424bb14b..e09c667b33 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/environment-variables.md +++ b/translations/pt-BR/content/actions/learn-github-actions/environment-variables.md @@ -155,7 +155,7 @@ As variáveis de ambiente padrão que os conjuntos de {% data variables.product. {%- ifversion actions-runner-arch-envvars %} | `RUNNER_ARCH` | {% data reusables.actions.runner-arch-description %} {%- endif %} -| `RUNNER_DEBUG` | {% data reusables.actions.runner-debug-description %} | | `RUNNER_NAME` | {% data reusables.actions.runner-name-description %} For example, `Hosted Agent` | | `RUNNER_OS` | {% data reusables.actions.runner-os-description %} For example, `Windows` | | `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %} For example, `D:\a\_temp` | +| `RUNNER_DEBUG` | {% data reusables.actions.runner-debug-description %} | | `RUNNER_NAME` | {% data reusables.actions.runner-name-description %} Por exemplo, `Hosted Agent` | | `RUNNER_OS` | {% data reusables.actions.runner-os-description %} Por exemplo, `Windows` | | `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %} Por exemplo, `D:\a\_temp` | {% ifversion not ghae %}| `RUNNER_TOOL_CACHE` | {% data reusables.actions.runner-tool-cache-description %} For example, `C:\hostedtoolcache\windows` |{% endif %} {% note %} diff --git a/translations/pt-BR/content/actions/learn-github-actions/expressions.md b/translations/pt-BR/content/actions/learn-github-actions/expressions.md index e27fd2a01a..6aaef56655 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/expressions.md +++ b/translations/pt-BR/content/actions/learn-github-actions/expressions.md @@ -129,17 +129,17 @@ Retorna `verdadeiro` se a `pesquisa` contiver `item`. Se a `pesquisa` for uma ar `contains('Hello world', 'llo')` retorna `true`. -#### Example using an object filter +#### Exemplo que usa um filtro de objeto -`contains(github.event.issue.labels.*.name, 'bug')` returns `true` if the issue related to the event has a label "bug". +`contains(github.event.issue.labels.*.name, 'bug')` retorna `true` se o problema relacionado ao evento tiver uma etiqueta de "erro". -For more information, see "[Object filters](#object-filters)." +Para obter mais informações, consulte "[Filtros de objeto](#object-filters)". -#### Example matching an array of strings +#### Exemplo correspondente a uma matriz de strings -Instead of writing `github.event_name == "push" || github.event_name == "pull_request"`, you can use `contains()` with `fromJson()` to check if an array of strings contains an `item`. +Em vez de escrever `github.event_name == "push" || github.event_name == "pull_request"`, você pode usar `contains()` com `fromJson()` para verificar se uma matriz de strings contém um `item`. -For example, `contains(fromJson('["push", "pull_request"]'), github.event_name)` returns `true` if `github.event_name` is "push" or "pull_request". +Por exemplo, `contains(fromJson('["push", "pull_request"]'), github.event_name)` retorna `true` se `github.event_name` for "push" ou "pull_request". ### startsWith diff --git a/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md b/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md index 3ecc33d026..0316eea71b 100644 --- a/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md +++ b/translations/pt-BR/content/actions/learn-github-actions/understanding-github-actions.md @@ -93,7 +93,7 @@ Para obter mais informações, consulte "[Criar ações](/actions/creating-actio - Para continuar aprendendo sobre {% data variables.product.prodname_actions %}, consulte "[Encontrar e personalizar ações](/actions/learn-github-actions/finding-and-customizing-actions)". {% ifversion fpt or ghec or ghes %} -- Para entender como a cobrança funciona para {% data variables.product.prodname_actions %}, consulte "[Sobre cobrança para {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)". +- Para entender como a cobrança funciona para {% data variables.product.prodname_actions %}, consulte "[Sobre cobrança para {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)." {% endif %} ## Entrar em contato com o suporte diff --git a/translations/pt-BR/content/actions/publishing-packages/publishing-nodejs-packages.md b/translations/pt-BR/content/actions/publishing-packages/publishing-nodejs-packages.md index fe4d0d6280..4a255f1e27 100644 --- a/translations/pt-BR/content/actions/publishing-packages/publishing-nodejs-packages.md +++ b/translations/pt-BR/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -98,9 +98,9 @@ Cada vez que você criar uma nova versão, você poderá acionar um fluxo de tra ### Configurar o repositório de destino -Se você não fornecer a chave do `repositório` no seu arquivo *package.json*, {% data variables.product.prodname_registry %} irá publicar um pacote no repositório de {% data variables.product.prodname_dotcom %} especificado no campo `nome` do arquivo *package.json*. Por exemplo, um pacote denominado `@my-org/test` é publicado no `my-org/test` repositório de {% data variables.product.prodname_dotcom %}. +Vincular o seu pacote ao {% data variables.product.prodname_registry %} usando a chave do repositório `` é opcional. Se você optar por não fornecer a chave do `repositório` no seu arquivo *package.json*, {% data variables.product.prodname_registry %} irá publicar um pacote no repositório de {% data variables.product.prodname_dotcom %} especificado no campo `nome` do arquivo *package.json*. Por exemplo, um pacote denominado `@my-org/test` é publicado no `my-org/test` repositório de {% data variables.product.prodname_dotcom %}. Se a `url` especificada na chave do `repositório` é inválida, seu pacote ainda poderá ser publicado. No entanto ele não será vinculado à fonte do repositório, como esperado. -No entanto, se você fornecer a chave `repositório`, o repositório nessa chave será usado como o registro de npm de destino para {% data variables.product.prodname_registry %}. Por exemplo, publicar os resultados *package.json* abaixo em um pacote denominado `my-amazing-package` publicado no repositório `octocat/meu-repo` de {% data variables.product.prodname_dotcom %}. +Se você fornecer a chave do `repositório` no seu arquivo *package.json*, posteriormente, o repositório nessa chave será usado como registro npm de destino para {% data variables.product.prodname_registry %}. Por exemplo, publicar os resultados *package.json* abaixo em um pacote denominado `my-amazing-package` publicado no repositório `octocat/meu-repo` de {% data variables.product.prodname_dotcom %}. Uma vez publicada, apenas a fonte do repositório é atualizada, e o pacote não herda nenhuma permissão do repositório de destino. ```json { diff --git a/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md index eaf2c87860..be0cae175a 100644 --- a/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md +++ b/translations/pt-BR/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -51,7 +51,7 @@ Para obter mais informações sobre artefatos da execução do fluxo de trabalho Um fluxo de trabalho pode acessar e restaurar um cache criado no branch atual, no branch de base (incluindo branches base de repositórios bifurcados) ou no branch-padrão (geralmente `principal`). Por exemplo, um cache criado no branch-padrão pode ser acessado a partir de qualquer pull request. Além disso, se o branch `feature-b` tiver o branch de base `feature-a`, um fluxo de trabalho acionado em `feature-b` teria acesso a caches criados no branch-padrão (`principal`), `feature-a` e `feature-b`. -As restrições de acesso fornecem o isolamento da cache e a segurança ao criar um limite lógico entre os diferentes branches. Por exemplo, um cache criado para o branch `feature-a` (com a base no `principal`) não seria acessível para um pull request para o branch `feature-b` (com a base no `principal`). +Access restrictions provide cache isolation and security by creating a logical boundary between different branches or tags. Por exemplo, um cache criado para o branch `feature-a` (com a base no `principal`) não seria acessível para um pull request para o branch `feature-b` (com a base no `principal`). On similar lines, a cache created for the tag `release-a` (from the base `main`) would not be accessible to a workflow triggered for the tag `release-b` (with the base `main`). Vários fluxos de trabalho dentro de um repositório compartilham entradas de cache. Uma cache criada para um branch de um fluxo de trabalho pode ser acessada e restaurada a partir de outro fluxo de trabalho para o mesmo repositório e branch. @@ -204,7 +204,7 @@ npm-d5ea0750 ### Usando a saída da ação do `cache` -Você pode usar a ação `cache` para fazer algo baseado em se ocorreu uma correspondência de cache ou se a falha ocorreu. When an exact match is found for a cache for the specified `key`, the `cache-hit` output is set to `true`. +Você pode usar a ação `cache` para fazer algo baseado em se ocorreu uma correspondência de cache ou se a falha ocorreu. Quando uma correspondência exata é encontrada para um cache para a tecla `especificada`, o `cache-hit` é definido como `verdadeiro`. No exemplo de fluxo de trabalho acima, há uma etapa que lista o estado dos módulos do Node se ocorrer uma falha de cache: diff --git a/translations/pt-BR/content/actions/using-workflows/events-that-trigger-workflows.md b/translations/pt-BR/content/actions/using-workflows/events-that-trigger-workflows.md index e006030140..9aed0e2530 100644 --- a/translations/pt-BR/content/actions/using-workflows/events-that-trigger-workflows.md +++ b/translations/pt-BR/content/actions/using-workflows/events-that-trigger-workflows.md @@ -812,7 +812,7 @@ Executa o fluxo de trabalho quando ocorre uma atividade em no pull request no re Este evento é executado no contexto da base do pull request, em vez de no contexto do commit de merge, como faz o evento `pull_request`. Isso impede a execução de código inseguro do cabeçalho do pull request que poderia alterar seu repositório ou roubar quaisquer segredos que você usa no fluxo de trabalho. Este evento permite que seu fluxo de trabalho faça coisas como etiquetar ou comentar nos pull requests a partir das bifurcações. Evite usar este evento se você precisar criar ou executar o código a partir do pull request. -To ensure repository security, branches with names that match certain patterns (such as those which look similar to SHAs) may not trigger workflows with the `pull_request_target` event. +Para garantir a segurança do repositório, os branches com nomes que correspondem a certos padrões (como aqueles que parecem similares ao SHAs) podem não acionar fluxos de trabalho com o evento `pull_request_target`. {% warning %} diff --git a/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md b/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md index 0931cbacb1..92c50fff97 100644 --- a/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md +++ b/translations/pt-BR/content/actions/using-workflows/reusing-workflows.md @@ -39,7 +39,7 @@ Você pode visualizar os fluxos de trabalho referenciados nos seus fluxos de tra ### Fluxos de trabalho e fluxos de trabalho iniciais reutilizáveis -Os fluxos de trabalho iniciais permitem que todos em sua organização que têm permissão para criar fluxos de trabalho o façam de forma mais rápida e facilmente. Quando as pessoas criam um novo fluxo de trabalho, eles podem escolher um fluxo de trabalho inicial e uma parte ou todo o trabalho de escrita do fluxo de trabalho será feito para essas pessoas. Dentro de um fluxo de trabalho inicial, você também pode fazer referência a fluxos de trabalho reutilizáveis para facilitar a utilização de código de fluxo de trabalho gerenciado centralmente. If you use a commit SHA when referencing the reusable workflow, you can ensure that everyone who reuses that workflow will always be using the same YAML code. No entanto, se você fizer referência a um fluxo de trabalho reutilizável por uma tag ou branch, certifique-se de que você poderá confiar nessa versão do fluxo de trabalho. Para obter mais informações, consulte "[Fortalecimento da segurança para {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#reusing-third-party-workflows)". +Os fluxos de trabalho iniciais permitem que todos em sua organização que têm permissão para criar fluxos de trabalho o façam de forma mais rápida e facilmente. Quando as pessoas criam um novo fluxo de trabalho, eles podem escolher um fluxo de trabalho inicial e uma parte ou todo o trabalho de escrita do fluxo de trabalho será feito para essas pessoas. Dentro de um fluxo de trabalho inicial, você também pode fazer referência a fluxos de trabalho reutilizáveis para facilitar a utilização de código de fluxo de trabalho gerenciado centralmente. Se você usar um commit SHA ao fazer referência ao fluxo de trabalho reutilizável, você poderá garantir que todos que reutilizarem esse fluxo de trabalho sempre usarão o mesmo código YAML. No entanto, se você fizer referência a um fluxo de trabalho reutilizável por uma tag ou branch, certifique-se de que você poderá confiar nessa versão do fluxo de trabalho. Para obter mais informações, consulte "[Fortalecimento da segurança para {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#reusing-third-party-workflows)". Para obter mais informações, consulte "[Criando fluxos de trabalho iniciais para a sua organização](/actions/learn-github-actions/creating-starter-workflows-for-your-organization)". @@ -70,13 +70,13 @@ Fluxos de trabalho chamados que são propriedade do mesmo usuário ou organizaç ## Limitações {% ifversion nested-reusable-workflow %} -* You can connect up to four levels of workflows. For more information, see "[Calling a nested reusable workflow](#calling-a-nested-reusable-workflow)." +* Você pode se conectar a até quatro níveis de fluxos de trabalho. Para obter mais informações, consulte "[Chamando um fluxo de trabalho reutilizado aninhado](#calling-a-nested-reusable-workflow)". {% else %} * Os fluxos de trabalho reutilizáveis não podem chamar outros fluxos de trabalho reutilizáveis. {% endif %} * Os fluxos de trabalho armazenados dentro de um repositório privado só podem ser usados por fluxos de trabalho dentro do mesmo repositório. -* Qualquer variável de ambiente definida em um contexto `env` definido no nível do fluxo de trabalho no fluxo de trabalho da chamada não é propagada para o fluxo de trabalho chamado. For more information about the `env` context, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#env-context)."{% ifversion actions-reusable-workflow-matrix %}{% else %} -* The `strategy` property is not supported in any job that calls a reusable workflow.{% endif %} +* Qualquer variável de ambiente definida em um contexto `env` definido no nível do fluxo de trabalho no fluxo de trabalho da chamada não é propagada para o fluxo de trabalho chamado. Para obter mais informações sobre o contexto `env`, consulte "[Sintaxe de contexto e expressão para o GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#env-context)".{% ifversion actions-reusable-workflow-matrix %}{% else %} +* A propriedade `estratégia` não é compatível em nenhum trabalho que chame um fluxo de trabalho reutilizável.{% endif %} ## Criar um fluxo de trabalho reutilizável @@ -113,7 +113,7 @@ Você pode definir entradas e segredos, que podem ser passados do fluxo de traba {% note %} - **Note**: If the secrets are inherited by using `secrets: inherit` in the calling workflow, you can reference them even if they are not explicitly defined in the `on` key. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." + **Observação**: Se os segredos são herdados pelo uso de `secrets: inherit` no fluxo de trabalho chamado, você poderá referenciá-los mesmo se eles não estiverem definidos explicitamente na chave `on`. Para obter mais informações, consulte "[Sintaxe do fluxo de trabalho para o GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." {% endnote %} {%- else %} @@ -175,15 +175,15 @@ jobs: ``` {% endraw %} {% ifversion actions-reusable-workflow-matrix %} -## Using a matrix strategy with a reusable workflow +## Usando estratégia matrix com fluxo de trabalho reutilizável -Jobs using the matrix strategy can call a reusable workflow. +Os trabalhos que usam a estratégia matrix podem chamar um fluxo de trabalho reutilizável. -Uma estratégia de matriz permite usar variáveis em uma única definição de trabalho para criar automaticamente várias execuções de trabalho que são baseadas nas combinações das variáveis. For example, you can use a matrix strategy to pass different inputs to a reusable workflow. Para obter mais informações sobre matrizes, consulte "[Usando uma matriz para seus trabalhos](/actions/using-jobs/using-a-matrix-for-your-jobs)." +Uma estratégia de matriz permite usar variáveis em uma única definição de trabalho para criar automaticamente várias execuções de trabalho que são baseadas nas combinações das variáveis. Por exemplo, você pode usar uma estratégia da matrix para passar entradas diferentes para um fluxo de trabalho reutilizável. Para obter mais informações sobre matrizes, consulte "[Usando uma matriz para seus trabalhos](/actions/using-jobs/using-a-matrix-for-your-jobs)." -### Example matrix strategy with a reusable workflow +### Exemplo de estratégia matrix com um fluxo de trabalho reutilizável -This workflow file references the matrix context by defining the variable `target` with the values `[dev, stage, prod]`. O fluxo de trabalho irá executar três trabalhos, um por cada valor na variável. The workflow file also calls a reusable workflow by using the `uses` keyword. +Este arquivo de fluxo de trabalho faz referência ao contexto da matriz, definindo a variável `destino` com os valores `[dev, stage, prod]`. O fluxo de trabalho irá executar três trabalhos, um por cada valor na variável. O arquivo do fluxo de trabalho também chama um fluxo de trabalho reutilizável usando o a palavra-chave `uses`. {% raw %} ```yaml{:copy} @@ -274,11 +274,11 @@ jobs: {% endraw %} {% ifversion nested-reusable-workflow %} -## Nesting reusable workflows +## Aninhando fluxos de trabalho reutilizáveis -You can connect a maximum of four levels of workflows - that is, the top-level caller workflow and up to three levels of reusable workflows. For example: _caller-workflow.yml_ → _called-workflow-1.yml_ → _called-workflow-2.yml_ → _called-workflow-3.yml_. Loops in the workflow tree are not permitted. +É possível conectar um máximo de quatro níveis de fluxos de trabalho, ou seja, o fluxo de trabalho de chamadas de nível superior e até três níveis de fluxos de trabalho reutilizáveis. Por exemplo: _caller-workflow.yml_ → _called-workflow-1.yml_ → _called-workflow-2.yml_ → _called-workflow-3.yml_. Não são permitidos loops na árvore de fluxo de trabalho. -From within a reusable workflow you can call another reusable workflow. +De dentro de um fluxo de trabalho reutilizável, você pode chamar outro fluxo de trabalho reutilizável. {% raw %} ```yaml{:copy} @@ -293,11 +293,11 @@ jobs: ``` {% endraw %} -### Passing secrets to nested workflows +### Passando segredos para fluxos de trabalho aninhados -You can use `jobs..secrets` in a calling workflow to pass named secrets to a directly called workflow. Alternatively, you can use `jobs..secrets.inherit` to pass all of the calling workflow's secrets to a directly called workflow. For more information, see the section "[Passing inputs and secrets to a reusable workflow](/actions/using-workflows/reusing-workflows#passing-inputs-and-secrets-to-a-reusable-workflow)" above, and the reference article "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." Secrets are only passed to directly called workflow, so in the workflow chain A > B > C, workflow C will only receive secrets from A if they have been passed from A to B, and then from B to C. +Você pode usar `jobs..secrets` em um fluxo de trabalho de chamadas para passar segredos nomeados para um fluxo de trabalho diretamente chamado. Como alternativa, você pode usar `jobs..secrets.inherit` para passar todos os segredos do fluxo de trabalho para um fluxo de trabalho chamado diretamente. Para obter mais informações, consulte a seção "[Passando entradas e segredos para um fluxo de trabalho reutilizável](/actions/using-workflows/reusing-workflows#passing-inputs-and-secrets-to-a-reusable-workflow)" acima e o artigo de referência "[Sintaxe do fluxo de trabalho para o GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsecretsinherit)." Os segredos são passados apenas para o fluxo de trabalho diretamente, portanto, na cadeia de fluxo de trabalho A > B > C, o fluxo de trabalho C só receberá segredos de A se eles foram passados de A para B e, posteriormente, B para C. -In the following example, workflow A passes all of its secrets to workflow B, by using the `inherit` keyword, but workflow B only passes one secret to workflow C. Any of the other secrets passed to workflow B are not available to workflow C. +No exemplo a seguir, o fluxo de trabalho A passa todos os seus segredos para o fluxo de trabalho B, usando a palavra-chave `inherit`, mas o fluxo de trabalho B só passa um segredo para o fluxo de trabalho C. Qualquer um dos outros segredos passados para o fluxo de trabalho B não está disponível para o fluxo de trabalho C. {% raw %} ```yaml @@ -316,18 +316,18 @@ jobs: ``` {% endraw %} -### Access and permissions +### Acesso e permissões -A workflow that contains nested reusable workflows will fail if any of the nested workflows is inaccessible to the initial caller workflow. For more information, see "[Access to reusable workflows](/actions/using-workflows/reusing-workflows#access-to-reusable-workflows)." +Um fluxo de trabalho que contém fluxos de trabalho reutilizáveis aninhados irá falhar caso algum dos fluxos de trabalho aninhados não possa ser acessado para o fluxo de trabalho inicial de chamadas. Para obter mais informações, consulte "[Acesso para fluxos de trabalho reutilizáveis](/actions/using-workflows/reusing-workflows#access-to-reusable-workflows)". -`GITHUB_TOKEN` permissions can only be the same or more restrictive in nested workflows. For example, in the workflow chain A > B > C, if workflow A has `package: read` token permission, then B and C cannot have `package: write` permission. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)". +As permissões do `GITHUB_TOKEN` só podem ser a mesma ou mais restritivas em fluxos de trabalho aninhados. Por exemplo, na cadeia de fluxo de trabalho A > B > C, se o fluxo de trabalho A tiver a permissão do token `package: read`, logo, B e C não poderão ter a permissão `package: write`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication)". {% endif %} ## Usando saídas de um fluxo de trabalho reutilizável -Um fluxo de trabalho reutilizável pode gerar dados que você deseja usar no fluxo de trabalho da chamada. To use these outputs, you must specify them as the outputs of the reusable workflow.{% ifversion actions-reusable-workflow-matrix %} +Um fluxo de trabalho reutilizável pode gerar dados que você deseja usar no fluxo de trabalho da chamada. Para usar essas saídas, você deve especificá-las como saídas do fluxo de trabalho reutilizável.{% ifversion actions-reusable-workflow-matrix %} -If a reusable workflow that sets an output is executed with a matrix strategy, the output will be the output set by the last successful completing reusable workflow of the matrix which actually sets a value. That means if the last successful completing reusable workflow sets an empty string for its output, and the second last successful completing reusable workflow sets an actual value for its output, the output will contain the value of the second last completing reusable workflow.{% endif %} +Se um fluxo de trabalho reutilizável que define uma saída é executada com uma estratégia matrix, a saída será definida pela última conclusão bem-sucedida do fluxo de trabalho reutilizável da matriz que realmente define um valor. Isso significa que se a última conclusão bem sucedida de fluxo de trabalho reutilizável define uma string vazia para sua saída, e o segundo último sucesso de conclusão do fluxo de trabalho reutilizável define um valor real para sua saída, a saída conterá o valor do segundo concluindo o fluxo de trabalho reutilizável.{% endif %} O seguinte fluxo de trabalho reutilizável tem um único trabalho que contém duas etapas. Em cada uma dessas etapas, definimos uma única palavra como a saída: "olá" e "mundo". Na seção `saídas` do trabalho, nós mapeamos esses saídas de etapa para o trabalho chamada: `ouput1` e `ouput2`. Em seguida, na seção `on.workflow_call.outputs`, definimos duas saídas para o próprio fluxo de trabalho, uma chamada `firstword` que mapeamos com `output1`, e uma chamada `secondword` que mapeamos com `output2`. diff --git a/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md b/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md index d7e4191802..66e7b815a8 100644 --- a/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md +++ b/translations/pt-BR/content/actions/using-workflows/workflow-syntax-for-github-actions.md @@ -365,9 +365,9 @@ Nome da etapa no {% data variables.product.prodname_dotcom %}. Seleciona uma ação para executar como parte de uma etapa no trabalho. A ação é uma unidade reutilizável de código. Você pode usar uma ação definida no mesmo repositório que o fluxo de trabalho, um repositório público ou em uma [imagem publicada de contêiner Docker](https://hub.docker.com/). -We strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag. Se você não especificar uma versão, ela poderá interromper seus fluxos de trabalho ou causar um comportamento inesperado quando o proprietário da ação publicar uma atualização. +É altamente recomendável que você inclua a versão da ação que você está usando, especificando um ref do Git, SHA ou tag do Docker. Se você não especificar uma versão, ela poderá interromper seus fluxos de trabalho ou causar um comportamento inesperado quando o proprietário da ação publicar uma atualização. - Usar o commit SHA de uma versão de ação lançada é a maneira mais garantida de obter estabilidade e segurança. -- If the action publishes major version tags, you should expect to receive critical fixes and security patches while still retaining compatibility. Note that this behavior is at the discretion of the action's author. +- Se a ação publicar as principais tags de versão, você deve esperar receber as correções críticas e correções de segurança mantendo a compatibilidade. Observe que esse comportamento fica a critério do autor da ação. - Usar o branch-padrão de uma ação pode ser conveniente, mas se alguém lançar uma nova versão principal com uma mudança significativa, seu fluxo de trabalho poderá ter problemas. Algumas ações requerem entradas que devem ser definidas com a palavra-chave [`with`](#jobsjob_idstepswith) (com). Revise o arquivo README da ação para determinar as entradas obrigatórias. @@ -1037,7 +1037,7 @@ Você pode usar caracteres especiais nos filtros de caminhos, branches e tags. - `[]` Corresponde a um caractere listado entre colchetes ou incluído nos intervalos. Os intervalos só podem incluir valores de `a-z`, `A-Z`, e `0-9`. Por exemplo, o intervalo`[0-9a-z]` corresponde a qualquer letra maiúscula ou minúscula. Por exemplo, `[CB]at` corresponde a `Cat` ou `Bat` e `[1-2]00` corresponde a `100` e `200`. - `!` No início de um padrão faz com que ele anule padrões positivos anteriores. Não tem nenhum significado especial caso não seja o primeiro caractere. -Os caracteres `*`, `[` e `!` são caracteres especiais em YAML. Se você iniciar um padrão com `*`, `[` ou `!`, você deverá colocá-lo entre aspas. Also, if you use a [flow sequence](https://yaml.org/spec/1.2.2/#flow-sequences) with a pattern containing `[` and/or `]`, the pattern must be enclosed in quotes. +Os caracteres `*`, `[` e `!` são caracteres especiais em YAML. Se você iniciar um padrão com `*`, `[` ou `!`, você deverá colocá-lo entre aspas. Além disso, se você usar uma [sequência de fluxo](https://yaml.org/spec/1.2.2/#flow-sequences) com um padrão que contém `[` e/ou `]`, o padrão deverá estar entre aspas. ```yaml # Valid diff --git a/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md index e3d4efd05a..6caeabfa66 100644 --- a/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md +++ b/translations/pt-BR/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -8,6 +8,7 @@ type: overview topics: - Enterprise - GitHub Connect +miniTocMaxHeadingLevel: 3 --- ## Sobre o {% data variables.product.prodname_github_connect %} @@ -37,6 +38,16 @@ Após configurar a conexão entre {% data variables.product.product_location %} ## Transmissão de dados para {% data variables.product.prodname_github_connect %} +Quando {% data variables.product.prodname_github_connect %} está habilitado, um registro no {% data variables.product.prodname_ghe_cloud %} armazena informações sobre conexão. Se você habilitar as funcionalidades individuais de {% data variables.product.prodname_github_connect %}, serão transmitidos dados adicionais. + +{% note %} + +**Nota:** Nenhum repositório, problema ou pull request é transmitido de {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} por {% data variables.product.prodname_github_connect %}. + +{% endnote %} + +### Dados transmitidos quando {% data variables.product.prodname_github_connect %} está habilitado + Ao habilitar {% data variables.product.prodname_github_connect %} ou funcionalidades específicas de{% data variables.product.prodname_github_connect %}, um registro em {% data variables.product.prodname_ghe_cloud %} irá armazenar as seguintes informações sobre a conexão. {% ifversion ghes %} - A parte da chave pública da sua licença do {% data variables.product.prodname_ghe_server %}; @@ -54,23 +65,19 @@ Ao habilitar {% data variables.product.prodname_github_connect %} ou funcionalid {% data variables.product.prodname_github_connect %} sincroniza os dados de conexão acima entre {% data variables.product.product_location %} e {% data variables.product.prodname_ghe_cloud %} semanalmente, a partir do dia e tempo aproximado que {% data variables.product.prodname_github_connect %} foi habilitado. -{% note %} - -**Nota:** Nenhum repositório, problema ou pull request é transmitido de {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} por {% data variables.product.prodname_github_connect %}. - -{% endnote %} +### Dados transmitidos por funcionalidades individuais de {% data variables.product.prodname_github_connect %} Os dados adicionais são transmitidos se você habilitar as funcionalidades individuais de {% data variables.product.prodname_github_connect %}. -| Funcionalidade | Dados | Para onde os dados são transmitidos? | Onde os dados são usados? | -| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- |{% ifversion ghes %} -| Sincronização automática da licença do usuário | O ID de usuário de cada {% data variables.product.product_name %} e endereço de e-mail | De {% data variables.product.product_name %} para {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %} |{% endif %}{% ifversion ghes or ghae %} -| {% data variables.product.prodname_dependabot_alerts %} | Alertas de vulnerabilidade | De {% data variables.product.prodname_dotcom_the_website %} para {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} -| {% data variables.product.prodname_dependabot_updates %} | As dependências e metadados para o repositório de cada dependência

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

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

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

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

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

De {% data variables.product.product_name %} para {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} +| Contribuições unificadas | Contagens de contribuição | De {% data variables.product.product_name %} paraa {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} ## Leia mais diff --git a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md index ff24568a52..c83b1356f5 100644 --- a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md +++ b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md @@ -673,7 +673,7 @@ Você pode adicionar o argumento opcional `--prune` para remover objetos inacess {% warning %} -**Warning**: Before using the `--prune` argument to remove unreachable Git objects, put {% data variables.product.product_location %} into maintenance mode, or ensure all repositories within the same repository network are locked. Para obter mais informações, consulte "[Habilitar e programar o modo de manutenção](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)". +**Aviso**: Antes de usar o argumento `--prune` para remover objetos do Git inacessíveis, coloque {% data variables.product.product_location %} em modo de manutenção ou garantir que todos os repositórios da mesma rede de repositório estejam bloqueados. Para obter mais informações, consulte "[Habilitar e programar o modo de manutenção](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode)". {% endwarning %} diff --git a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index 95b6229d4c..1e9bf643d6 100644 --- a/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/translations/pt-BR/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -31,12 +31,15 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat ## Adicionar endereços IP permitidos +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Permitindo acesso de {% data variables.product.prodname_github_apps %} @@ -44,6 +47,8 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat ## Habilitar endereços IP permitidos +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -52,6 +57,8 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat ## Editar endereços IP permitidos +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -59,6 +66,18 @@ Para restrições no nível da instância que usam o Azure NSGs, entre em contat {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Clique em **Atualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificando se um endereço IP é permitido + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## Excluir endereços IP permitidos diff --git a/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md b/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md index 6a7861f137..f7558f5eca 100644 --- a/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md +++ b/translations/pt-BR/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md @@ -20,7 +20,7 @@ shortTitle: Criar réplica HA ## Criar réplica de alta disponibilidade 1. Configure um novo appliance do {% data variables.product.prodname_ghe_server %} na plataforma desejada. O appliance réplica deve refletir as configurações de CPU, RAM e armazenamento do appliance primário. É recomendável instalar o appliance réplica em um ambiente independente. Hardware, software e componentes de rede subjacentes devem ser isolados dos do appliance primário. Se estiver em um provedor de nuvem, use uma região ou zona separada. Para obter mais informações, consulte [Configurar uma instância do {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance). -1. Ensure that the new appliance can communicate with all other appliances in this high availability environment over ports 122/TCP and 1194/UDP. Para obter mais informações, consulte "[Portas de rede](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)". +1. Certifique-se de que o novo dispositivo possa se comunicar com todos os outros dispositivos neste ambiente de alta disponibilidade por meio das portas 122/TCP e 1194/UDP. Para obter mais informações, consulte "[Portas de rede](/admin/configuration/configuring-network-settings/network-ports#administrative-ports)". 1. Em um navegador, vá até o novo endereço IP do appliance réplica e faça o upload da sua licença do {% data variables.product.prodname_enterprise %}. {% data reusables.enterprise_installation.replica-steps %} 1. Conecte-se ao endereço IP do appliance réplica usando SSH. diff --git a/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md index 922a19d7ae..51302560d5 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -82,7 +82,11 @@ Estas restrições são inaceitáveis para algumas empresas. Para determinar se ### Seus desenvolvedores dependem da colaboração fora da sua empresa? -{% data variables.product.prodname_managed_users_caps %} só pode contribuir para repositórios dda sua empresa. Se seus desenvolvedores precisarem colaborar em repositórios fora da sua empresa, mesmo em repositórios privados, para concluir o trabalho deles, {% data variables.product.prodname_emus %} pode não estar certo para a sua empresa e o SAML SSO pode ser uma solução melhor. +{% data variables.product.prodname_managed_users_caps %} só pode contribuir para repositórios dda sua empresa. Se seus desenvolvedores devem contribuir para ambos repositórios dentro e fora da sua empresa, incluindo repositórios privados, {% data variables.product.prodname_emus %} pode não ser o correto para a sua empresa. O SAML SSO pode ser uma solução melhor. + +Algumas empresas mantêm repositórios de uma empresa existente usando o SAML SSO em {% data variables.product.product_location %} e também criam um {% data variables.product.prodname_emu_enterprise %}. Os desenvolvedores que contribuem para repositórios pertencentes a ambas as empresas em uma única estação de trabalho devem alternar entre as contas em {% data variables.product.product_location %} dentro de um único navegador ou usar um navegador diferente para cada conta. O desenvolvedor pode também precisar personalizar a configuração do Git da estação de trabalho para acomodar as duas contas. A complexidade desse fluxo de trabalho pode aumentar o risco de vazamento de código interno para o público de forma incorreta. + +Se você decidir criar um {% data variables.product.prodname_emu_enterprise %}, mas exigir que os desenvolvedores contribuam para recursos fora da empresa a partir de uma única estação de trabalho, você poderá fornecer suporte para alternar entre as contas na configuração local de um desenvolvedor do Git. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#supporting-developers-with-multiple-user-accounts-on-githubcom)." ### A sua empresa conta com colaboradores externos? diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md index 3db607a17f..1328e90a9f 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -36,8 +36,6 @@ Você pode conceder {% data variables.product.prodname_managed_users %} acesso e Os nomes de usuário do {% data variables.product.prodname_managed_users %} da empresa e as suas informações de perfil como, por exemplo, nomes de exibição e endereços de e-mail, são definidos por meio do seu IdP e não podem ser alterados pelos próprios usuários. Para obter mais informações, consulte "[Nomes de usuário e informações do perfil](#usernames-and-profile-information)". -{% data reusables.enterprise-accounts.emu-forks %} - Os proprietários de empresas podem auditar todas as ações de {% data variables.product.prodname_managed_users %}' em {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte "[Eventos de log de auditoria para a sua empresa](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#about-audit-log-events-for-your-enterprise)". Para usar {% data variables.product.prodname_emus %}, você precisa de um tipo de conta corporativa separado com {% data variables.product.prodname_emus %} habilitado. Para obter mais informações sobre a criação desta conta, consulte "[Sobre empresas com usuários gerenciados](#about-enterprises-with-managed-users)". @@ -75,7 +73,8 @@ O {% data variables.product.prodname_managed_users_caps %} só pode contribuir p * {% data variables.product.prodname_managed_users_caps %} não pode criar gists ou comentários em gists. * {% data variables.product.prodname_managed_users_caps %} não pode instalar {% data variables.product.prodname_github_apps %} nas suas contas de usuário. * Outros usuários de {% data variables.product.prodname_dotcom %} não podem ver, mencionar ou convidar um {% data variables.product.prodname_managed_user %} para colaborar. -* {% data variables.product.prodname_managed_users_caps %} só pode criar repositórios privados e {% data variables.product.prodname_managed_users %} só pode convidar outros integrantes da empresa para colaborar nos seus próprios repositórios. +* Você pode escolher se {% data variables.product.prodname_managed_users %} consegue criar repositórios pertencentes às suas contas de usuário. Para obter mais informações, consulte "[Aplicar políticas de gerenciamento do repositório na sua empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)". +* Se você permitir que {% data variables.product.prodname_managed_users %} crie repositórios pertencentes às suas contas de usuário, eles somente poderão ser proprietários de repositórios privados e só podem convidar outros integrantes da empresa para colaborar em seus repositórios pertencentes aos usuários. * {% data reusables.enterprise-accounts.emu-forks %} * Apenas repositórios privados e internos podem ser criados em organizações pertencentes a um {% data variables.product.prodname_emu_enterprise %}, dependendo das configurações de visibilidade da organização e do repositório corporativo. * {% data variables.product.prodname_managed_users_caps %} são limitados em seu uso de {% data variables.product.prodname_pages %}. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)". @@ -113,6 +112,8 @@ Antes que seus desenvolvedores possam usar {% data variables.product.prodname_gh 5. Uma vez configurados a autenticação e provisionamento, você pode começar a provisionar os integrantes e gerenciar as equipes. Para obter mais informações, consulte "[Gerenciar associações de equipe com grupos de provedor de identidade](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)". +Se os membros da sua empresa tiverem de usar uma estação de trabalho para contribuir com repositórios em {% data variables.product.product_location %} de uma conta de {% data variables.product.prodname_managed_user %} e uma conta pessoal, você pode prestar suporte. Para obter mais informações, consulte "[Ajudando os desenvolvedores com várias contas de usuário no {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom)". + ## Efetuar a autenticação um {% data variables.product.prodname_managed_user %} {% data variables.product.prodname_managed_users_caps %} deve efetuar a autenticação por meio de seu provedor de identidade. Para efetuar a autenticação, um {% data variables.product.prodname_managed_user %} pode acessar o seu portal de aplicativo do IdP ou usar a página de login no {% data variables.product.prodname_dotcom_the_website %}. @@ -132,3 +133,9 @@ Antes que seus desenvolvedores possam usar {% data variables.product.prodname_gh Um conflito pode ocorrer quando os usuários de provisionamento das partes únicas do identificador fornecido pelo IdP são removidos durante a normalização. Se você não puder provisionar um usuário devido a um conflito de nome de usuário, você deverá modificar o nome de usuário fornecido pelo seu IdP. Para obter mais informações, consulte "[Resolvendo conflitos de nome de usuário](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts). " O nome do perfil e endereço de email de um {% data variables.product.prodname_managed_user %} também é fornecido pelo IdP. {% data variables.product.prodname_managed_users_caps %} não pode alterar seu nome de perfil ou endereço de e-mail em {% data variables.product.prodname_dotcom %}, e o IdP só pode fornecer um único endereço de e-mail. + +## Ajudando os desenvolvedores com várias contas de usuário em {% data variables.product.product_location %} + +As pessoas da sua equipe talvez precisem contribuir com recursos em {% data variables.product.product_location %} que estão fora do seu {% data variables.product.prodname_emu_enterprise %}. Por exemplo, você pode desejar manter uma empresa separada para os projetos de código aberto da sua empresa. Como {% data variables.product.prodname_managed_user %} não pode contribuir para recursos públicos, os usuários deverão manter uma conta pessoal separada para este trabalho. + +As pessoas que devem contribuir com de duas contas de usuário em {% data variables.product.product_location %} usando uma estação de trabalho podem configurar o Git para simplificar o processo. Para obter mais informações, consulte "[Gerenciando várias contas](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)". diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md index 66c1726cca..b0ca5f2ab7 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -22,9 +22,11 @@ O suporte ao CAP é habilitado automaticamente para qualquer {% data variables.p Para obter mais informações sobre o uso do OIDC com {% data variables.product.prodname_emus %}, consulte "[Configurando o OIDC para usuários gerenciados corporativos](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)" e "[Migrando do SAML para o OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)." -## Sobre o uso do CAP com listas de permissão de IP +{% note %} -Recomendamos deasabilitar a lista de permissão da sua conta corporativa e confiar no CAP do seu IdP. Se você habilitar as listas de permissão do IP para sua empresa e também fizer uso do CAP do seu IdP, tanto a lista de permissões de IP quanto o CAP serão aplicados. Se alguma restrição rejeitar o endereço IP de um usuário, ocorrerá uma falha na solicitação. Para obter mais informações sobre a lista de permissão de IP, consulte "[Aplicando políticas de segurança na sua empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)". +**Observação:** Se você usar as políticas de localização da rede de acesso condicional (CA) no seu inquilino do Azure AD, não use a funcionalidade da lista de permissão de IP em {% data variables.product.prodname_dotcom_the_website %}, com a conta corporativa ou com qualquer uma das organizações pertencentes à empresa. A utilização de ambas não é compatível e pode resultar na aplicação de uma política errada. Para mais informações sobre listas de permissão de IPs, consulte "[Aplicando as configurações de segurança na sua empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" e "[Gerenciando endereços IP permitidos para a sua organização](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)". + +{% endnote %} ## Considerações para integrações e automações diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md index e24e704e21..e5ba120f02 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -31,6 +31,7 @@ Se você for novo em {% data variables.product.prodname_emus %} e ainda não con {% endnote %} 1. Antes de iniciar a migração, inicie sessão no Azure e desabilite o provisionamento no aplicativo de {% data variables.product.prodname_emu_idp_application %} existente. +1. Se você usar [as políticas de localização de rede de Acesso Condicional (CA)](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) no Azure AD, e você estiver usando uma lista de permissões de IP com a sua conta corporativa ou qualquer uma das organizações pertencentes à conta corporativa em {% data variables.product.prodname_dotcom_the_website %}, desabilite as listas de permissão de IP. Para obter mais informações, consulte, "[Aplicando as configurações de segurança na sua empresa](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" e "[Gerenciando endereços IP permitidos para a sua organização](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)". 1. Efetue o login em {% data variables.product.prodname_dotcom_the_website %} como usuário de configuração da sua empresa com o nome de usuário **@SHORT-CODE_admin**. 1. Quando solicitado para continuar com o provedor de identidade, clique em **Usar um código de recuperação** e efetue o login usando um dos códigos de recuperação da empresa. {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index 7c23f797f1..03521a2aa0 100644 --- a/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/pt-BR/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -75,10 +75,12 @@ Os metadados de SP para a sua empresa em {% data variables.product.product_name Os seguintes atributos o SAML estão disponíveis para {% data variables.product.product_name %}.{% ifversion ghes %} Você pode alterar os nomes de atributo no console de gerenciamento, com exceção do atributo `administrador`. Para obter mais informações, consulte "[Acessando o console de gerenciamento](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)".{% endif %} -| Nome | Obrigatório? | Descrição | -|:--------------------- |:------------ |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `NameID` | Sim | Identificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. {% ifversion ghec %}Se você usa uma empresa com {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} irá normalizar o elemento `NameID` para usar como um nome de usuário, a menos que seja fornecida uma das declarações alternativas. Para obter mais informações, consulte "[Considerações de nome de usuário para autenticação externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)". | -| `SessionNotOnOrAfter` | Não | A data que {% data variables.product.product_name %} invalida a sessão associada. Após a invalidação, a pessoa deve efetuar a autenticação novamente para acessar {% ifversion ghec or ghae %}os recursos da sua empresa{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. Para obter mais informações, consulte "[Duração da sessão e fim do tempo](#session-duration-and-timeout)". | +| Nome | Obrigatório? | Descrição | +|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:------------ |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `NameID` | Sim | Identificador de usuário persistente. Qualquer formato de identificador de nome persistente pode ser usado. | +| {% ifversion ghec %}Se você usa uma empresa com {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.product_name %} irá normalizar o elemento `NameID` para usar como um nome de usuário, a menos que seja fornecida uma das declarações alternativas. Para obter mais informações, consulte "[Considerações de nome de usuário para autenticação externa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication).

{% note %}**Observação:** é importante usar um identificador persistente e legível por humanos. O uso de um formato de identificador transitório como `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` resultará na revinculação de contas a cada acesso, o que pode ser prejudicial para a gestão de autorização.{% endnote %} | | | +| | | | +| `SessionNotOnOrAfter` | Não | A data que {% data variables.product.product_name %} invalida a sessão associada. Após a invalidação, a pessoa deve efetuar a autenticação novamente para acessar {% ifversion ghec or ghae %}os recursos da sua empresa{% elsif ghes %}{% data variables.product.product_location %}{% endif %}. Para obter mais informações, consulte "[Duração da sessão e fim do tempo](#session-duration-and-timeout)". | {%- ifversion ghes or ghae %} | `administrator` | Nçao | Quando o valor for `verdadeiro`, {% data variables.product.product_name %} promoverá automaticamente o usuário para ser um {% ifversion ghes %}administrador de site{% elsif ghae %}proprietário empresarial{% endif %}. Definir esse atributo para qualquer coisa menos `verdadeiro` resultará em demonstração, desde que o valor não esteja em branco. Omitir este atributo ou deixar o valor em branco não irá alterar a função do usuário. | | `username` | Não | O nome de usuário para {% data variables.product.product_location %}. | {%- endif %} diff --git a/translations/pt-BR/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/translations/pt-BR/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md index aeaa44588d..6bad5f0002 100644 --- a/translations/pt-BR/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md +++ b/translations/pt-BR/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -44,7 +44,8 @@ Você configurou o fluxo do log de auditoria em {% data variables.product.produc - [Amazon S3](#setting-up-streaming-to-amazon-s3) - [Armazenamento do Azure Blob](#setting-up-streaming-to-azure-blob-storage) -- [Centros de evento do Azure](#setting-up-streaming-to-azure-event-hubs) +- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs){% ifversion streaming-datadog %} +- [Datadog](#setting-up-streaming-to-datadog){% endif %} - [Armazenamento do Google Cloud](#setting-up-streaming-to-google-cloud-storage) - [Splunk](#setting-up-streaming-to-splunk) @@ -231,6 +232,32 @@ Você precisa de duas informações sobre seu centro de eventos: o nome da sua i {% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +{% ifversion streaming-datadog %} +### Setting up streaming to Datadog + +To set up streaming to Datadog, you must create a client token or an API key in Datadog, then configure audit log streaming in {% data variables.product.product_name %} using the token for authentication. You do not need to create a bucket or other storage container in Datadog. + +After you set up streaming to Datadog, you can see your audit log data by filtering by "github.audit.streaming." For more information, see [Log Management](https://docs.datadoghq.com/logs/). + +1. If you don't already have a Datadog account, create one. +1. In Datadog, generate a client token or an API key, then click **Copy key**. For more information, see [API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) in Datadog Docs. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the **Configure stream** dropdown menu and click **Datadog**. + + ![Screenshot of the "Configure stream" dropdown menu with "Datadog" highlighted](/assets/images/help/enterprises/audit-stream-choice-datadog.png) +1. Under "Token", paste the token you copied earlier. + + ![Screenshot of the "Token" field](/assets/images/help/enterprises/audit-stream-datadog-token.png) +1. Select the "Site" dropdown menu and click your Datadog site. To determine your Datadog site, compare your Datadog URL to the table in [Datadog sites](https://docs.datadoghq.com/getting_started/site/) in Datadog Docs. + + ![Screenshot of the "Site" dropdown menu](/assets/images/help/enterprises/audit-stream-datadog-site.png) +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Datadog endpoint, click **Check endpoint**. + + ![Verificar o ponto de extremidade](/assets/images/help/enterprises/audit-stream-check.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +1. After a few minutes, confirm that audit log data is appearing on the **Logs** tab in Datadog. If audit log data is not appearing, confirm that your token and site are correct in {% data variables.product.prodname_dotcom %}. +{% endif %} + ### Configurando a transmissão para o Google Cloud Storage Para configurar a transmissão para o Google Cloud Storage, você deve criar uma conta de serviço no Google Cloud com as credenciais e permissões apropriadas e, em seguida, configurar a transmissão do log de auditoria em {% data variables.product.product_name %} usando as credenciais da conta de serviço para autenticação. @@ -291,6 +318,10 @@ Para transmitir os logs de auditoria para o Coletor de Eventos HTTP (HEC) do Spl A pausa da transmissão permite que você execute a manutenção no aplicativo de recebimento sem perder dados de auditoria. Os logs de auditoria são armazenados por até sete dias em {% data variables.product.product_location %} e, em seguida, são exportados quando você suspender a pausa da transmissão. +{% ifversion streaming-datadog %} +Datadog only accepts logs from up to 18 hours in the past. If you pause a stream to a Datadog endpoint for more than 18 hours, you risk losing logs that Datadog won't accept after you resume streaming. +{% endif %} + {% data reusables.enterprise.navigate-to-log-streaming-tab %} 1. Clique **Pausar transmissão**. diff --git a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index 04f2b70214..9a1c399fb2 100644 --- a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -77,12 +77,17 @@ Você também pode configurar endereços IP permitidos para uma organização in ### Adicionar endereços IP permitidos +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ### Permitindo acesso de {% data variables.product.prodname_github_apps %} @@ -90,6 +95,8 @@ Você também pode configurar endereços IP permitidos para uma organização in ### Habilitar endereços IP permitidos +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -98,6 +105,8 @@ Você também pode configurar endereços IP permitidos para uma organização in ### Editar endereços IP permitidos +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -105,6 +114,18 @@ Você também pode configurar endereços IP permitidos para uma organização in {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. Clique em **Atualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +### Verificando se um endereço IP é permitido + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ### Excluir endereços IP permitidos diff --git a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 3807a22b51..df2a517cd4 100644 --- a/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/translations/pt-BR/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -71,24 +71,28 @@ Se um proprietário corporativo impedir que os integrantes criem certos tipos de {% endif %} -## Aplicar uma política de {% ifversion ghec or ghes or ghae %}base{% else %}permissões padrão{% endif %} do repositório +## Aplicando uma política para as permissões básicas do repositório -Em todas as organizações pertencentes à sua empresa, você pode definir um {% ifversion ghec or ghes or ghae %}base{% else %}padrão{% endif %} nível de permissão de repositório (nenhum leitura, gravação ou administrador) para integrantes da organização, ou permitir que os proprietários administrem a configuração no nível da organização. +Em todas as organizações pertencentes à sua empresa, você pode definir um nível de permissão básica do repositório (nenhum leitura, gravação ou administrador) para integrantes da organização, ou permitir que os proprietários administrem a configuração no nível da organização. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -4. Em "{% ifversion ghec or ghes or ghae %}Base{% else %}Default{% endif %} permissões", revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -5. Em "{% ifversion ghec or ghes or ghae %}Base{% else %}Padrão{% endif %} permissões", use o menu suspenso e escolha uma política. - {% ifversion ghec or ghes or ghae %} - ![Menu suspenso com opções de políticas de permissões de repositório](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) - {% else %} - ![Menu suspenso com opções de políticas de permissões de repositório](/assets/images/enterprise/business-accounts/repository-permissions-policy-drop-down.png) - {% endif %} +4. Em "Permissões básicas", revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. Em "Permissões básicas", use o menu suspenso e escolha uma política. ![Menu suspenso com opções de políticas de permissões de repositório](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + ## Aplicando uma política para a criação do repositório -Em todas as organizações pertencentes à sua empresa, é possível permitir que os integrantes criem repositórios, restringir a criação de repositórios a proprietários da organização ou permitir que os proprietários administrem a configuração no nível da organização. Caso você permita que os integrantes criem repositórios, escolha se eles poderão criar qualquer combinação de repositórios internos, privados e públicos. O {% data reusables.repositories.internal-repo-default %} Para obter mais informações sobre repositórios internos, consulte "[Criar um repositório interno](/articles/creating-an-internal-repository)". +Em todas as organizações pertencentes à sua empresa, é possível permitir que os integrantes criem repositórios, restringir a criação de repositórios a proprietários da organização ou permitir que os proprietários administrem a configuração no nível da organização. + +Se você permitir que os integrantes criem repositórios em suas organizações, você poderá escolher quais tipos de repositórios (públicos, privados e internos) que os integrantes poderão criar. + +{% ifversion enterprise-namespace-repo-setting %} +{% ifversion ghec %}Se a empresa usa {% data variables.product.prodname_emus %}, você{% else %}Você{% endif %} também pode impedir que os usuários criem repositórios pertencentes às contas de usuário deles. +{% endif %} + +O {% data reusables.repositories.internal-repo-default %} Para obter mais informações sobre repositórios internos, consulte "[Criar um repositório interno](/articles/creating-an-internal-repository)". {% data reusables.organizations.repo-creation-constants %} @@ -96,33 +100,32 @@ Em todas as organizações pertencentes à sua empresa, é possível permitir qu {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. Em "Repository creation" (Criação de repositório), revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% ifversion ghes or ghae or ghec %} {% data reusables.enterprise-accounts.repo-creation-policy %} -{% data reusables.enterprise-accounts.repo-creation-types %} -{% else %} -6. Em "Repository creation" (Criação de repositórios), use o menu suspenso e escolha uma política. - - ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/enterprise/site-admin-settings/repository-creation-drop-down.png) -{% endif %} +{% data reusables.enterprise-accounts.repo-creation-types %}{% ifversion enterprise-namespace-repo-setting %} +1. Opcionalmente, {% ifversion ghec %}se sua empresa usa {% data variables.product.prodname_emus %} e você quer {% endif %}que impeça que os integrantes da empresa criem repositórios pertencentes às suas contas de usuário, Selecione **Bloquear a criação de repositórios de namespace do usuário**. ![Screenshot showing the list of disabled options from forking policy](/assets/images/help/business-accounts/restrict-personal-namespace-enabled-setting.png){% endif %} ## Aplicar uma política para a bifurcação de repositórios internos ou privados Em todas as organizações pertencentes à sua empresa, é possível permitir que pessoas com acesso a um repositório privado o bifurquem, nunca permitir a bifurcação de repositórios privados ou permitir que os proprietários administrem a configuração no nível da organização. +{% ifversion enterprise-namespace-repo-setting %} +{% note %} + +**Observação:** Se {% ifversion ghec %}sua empresa usa {% data variables.product.prodname_emus %} e {% endif %}sua política de "Criação do repositório" impede que os integrantes corporativos criem repositórios pertencentes às suas contas de usuário, os integrantes não terão permissão para bifurcar um repositório nas contas de usuários, independentemente da política de "bifurcação do repositório". + +{% endnote %} +{% endif %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 3. Em "Bifurcação de repositório", revise as informações sobre como alterar a configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} 4. Em "Repository forking" (Bifurcação de repositórios), use o menu suspenso e escolha uma política. - ![Menu suspenso com opções de políticas de bifurcação de repositórios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png) - -{% ifversion innersource-fork-policies %} + ![Menu suspenso com opções de políticas de bifurcação de repositórios](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} 5. Se a bifurcação estiver habilitada, você poderá especificar onde os usuários podem fazer a bifurcação de repositórios. Revise as informações sobre como alterar a configuração e escolha uma política. - ![Captura de tela que mostra a lista de opções de política de bifurcação de repositório](/assets/images/help/business-accounts/repository-forking-policy-settings.png) -{% endif %} - + ![Captura de tela que mostra a lista de opções de política de bifurcação de repositório](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} ## Aplicando uma política para convidar{% ifversion ghec %} colaboradores{% endif %} externos para repositórios @@ -140,8 +143,6 @@ Em todas as organizações pertencentes à sua empresa, você pode permitir que ![Menu suspenso com opções de política de convites](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) {% endif %} -{% ifversion ghec or ghes or ghae %} - ## Aplicando uma política para o nome padrão do branch Em todas as organizações pertencentes à sua empresa, você pode definir o nome padrão da branch para quaisquer novos repositórios que os integrantes criarem. Você pode optar por aplicar esse nome do branch-padrão em todas as organizações ou permitir que as organizações individuais definam um nome diferente. @@ -152,8 +153,6 @@ Em todas as organizações pertencentes à sua empresa, você pode definir o nom 4. Opcionalmente, para aplicar o nome do branch-padrão para todas as organizações da empresa, selecione **Aplicar em toda a empresa**. ![Caixa de aplicação](/assets/images/help/business-accounts/default-branch-name-enforce.png) 5. Clique em **Atualizar**. ![Botão de atualizar](/assets/images/help/business-accounts/default-branch-name-update.png) -{% endif %} - ## Aplicando uma política de alterações à visibilidade do repositório Em todas as organizações pertencentes à sua empresa, é possível permitir que integrantes com acesso administrativo alterem a visibilidade de um repositório, restringir alterações na visibilidade do repositório a proprietários da organização ou permitir que os proprietários administrem a configuração no nível da organização. Quando você impede que os integrantes alterem a visibilidade do repositório, somente os proprietários corporativos podem alterar a visibilidade de um repositório. @@ -163,9 +162,8 @@ Se um proprietário corporativo tiver restringido a criação de repositório ap {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -5. Em "Repository visibility change" (Alteração da visibilidade do repositório), revise as informações sobre a alteração da configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} - -{% data reusables.enterprise-accounts.repository-visibility-policy %} +1. Em "Repository visibility change" (Alteração da visibilidade do repositório), revise as informações sobre a alteração da configuração. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. Em "Repository visibility change" (Mudança de visibilidade do repositório), use o menu suspenso e escolha uma política. ![Menu suspenso com opções de política de visibilidade do repositório](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) ## Aplicando uma política de exclusão e transferência de repositório diff --git a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md index bd37fe1258..622177cedc 100644 --- a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -1,6 +1,6 @@ --- title: Sobre o SSH -intro: 'Usando o protocolo SSH, você pode se conectar a servidores e serviços remotos e se autenticar neles. Com chaves SSH, você pode conectar-se a {% data variables.product.product_name %} sem inserir seu nome de usuário e token de acesso pessoal em cada visita.' +intro: 'Usando o protocolo SSH, você pode se conectar a servidores e serviços remotos e se autenticar neles. Com chaves SSH, você pode se conectar a {% data variables.product.product_name %} sem fornecer seu nome de usuário e token de acesso pessoal em cada acesso.{% ifversion ssh-commit-verification %} Você também pode usar uma chave SSH para assinar commits.{% endif %}' redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh @@ -16,7 +16,7 @@ topics: {% data reusables.ssh.about-ssh %} Para obter mais informações sobre SSH, consulte [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) na Wikipédia. -Ao configurar o SSH, você deverá gerar uma nova chave SSH privada e adicioná-la ao agente SSH. Você também deve adicionar a chave SSH pública à sua conta no {% data variables.product.product_name %} antes de usar a chave para efetuar a autenticação. Para mais informações consulte "[Gerar uma nova chave SSH e adicioná-la ao ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)" e "[Adicionar uma nova chave SSH à sua conta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)". +Ao configurar o SSH, você deverá gerar uma nova chave SSH privada e adicioná-la ao agente SSH. Você também deve adicionar a chave SSH pública à sua conta em {% data variables.product.product_name %} antes de usar a chave para efetuar a autenticação em {% ifversion ssh-commit-verification %} ou assinar commits{% endif %}. Para obter mais informações, consulte "[Gerando uma nova chave SSH e adicionando-a ao ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} e{% endif %} "[Adicionando uma nova chave SSH à sua conta de {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" e "[Sobre a verificação de assinatura do commit](/articles/about-commit-signature-verification){% endif %}." Você pode proteger ainda mais sua chave SSH usando uma chave de segurança de hardware, o que exige que a chave de segurança física do hardware seja conectada ao seu computador quando o par de chaves é usado para efetuar a autenticação com SSH. Você também pode proteger sua chave SSH, adicionando sua chave ao agente do ssh-agent e usando uma frase secreta. Para obter mais informações, consulte "[Trabalhar com frases secretas da chave SSH](/github/authenticating-to-github/working-with-ssh-key-passphrases)". @@ -33,7 +33,6 @@ As organizações que usam {% data variables.product.prodname_ghe_cloud %} podem {% else ghec or ghes or ghae %} Se você for integrante de uma organização que fornece certificados SSH, você poderá usar seu certificado para acessar os repositórios da organização sem adicionar o certificado à sua conta em {% data variables.product.product_name %}. Você não pode usar seu certificado para acessar as bifurcações dos repositórios da organização, se as bifurcações pertencerem à sua conta pessoal. Para obter mais informações, consulte "[Sobre autoridades certificadas de SSH](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)". {% endif %} - ## Leia mais - "[Solucionar problemas de SSH](/articles/troubleshooting-ssh)" diff --git a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index d0582bf8b8..8d21dfd87b 100644 --- a/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/translations/pt-BR/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -19,6 +19,8 @@ shortTitle: Adicionar uma nova chave SSH {% data reusables.ssh.about-ssh %} Para obter mais informações, consulte "[Sobre SSH](/authentication/connecting-to-github-with-ssh/about-ssh)". +{% ifversion ssh-commit-verification %}Você também pode usar SSH para assinar commits e etiquetas. Para obter mais informações sobre a assinatura de commit, consulte "[Sobre a verificação de assinatura de commit](/articles/about-commit-signature-verification)".{% endif %} + Após gerar um par de chaves SSH, você deve adicionar a chave pública em {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} para habilitar o acesso SSH para a sua conta. ## Pré-requisitos @@ -30,111 +32,45 @@ Antes de adicionar uma nova chave SSH à sua conta em {% ifversion ghae %}{% dat ## Adicionando uma nova chave SSH à sua conta -Depois de adicionar uma nova chave SSH à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, você poderá reconfigurar quaisquer repositórios locais para usar SSH. Para obter mais informações, consulte "[Alternar URLs remotos de HTTPS para SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)". +Depois de adicionar uma nova autenticação da chave SSH à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, você poderá reconfigurar quaisquer repositórios locais para usar SSH. Para obter mais informações, consulte "[Alternar URLs remotos de HTTPS para SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)". {% data reusables.ssh.key-type-support %} -{% mac %} - {% webui %} -1. Copie a chave pública SSH para a sua área de transferência. - - Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. - - ```shell - $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Dica:** se `pbcopy` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. - - {% endtip %} - +{% data reusables.gpg.copy-ssh-public-key %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.ssh %} -4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) -5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um Mac pessoal, você poderá chamar essa chave de "MacBook Air Pessoal". -6. Cole sua chave no campo "Key" (Chave). ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) -7. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) +4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). +{% ifversion ssh-commit-verification %} + ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key-with-auth.png) +{% else %} + ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) +{% endif %} +5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se você estiver usando um laptop pessoal, você pode chamar essa chave de "laptop pessoal". +{% ifversion ssh-commit-verification %} +6. Selecione o tipo de chave, autenticação ou assinatura. Para obter mais informações sobre a assinatura de commit, consulte "[Sobre a verificação de assinatura de commit](/articles/about-commit-signature-verification)". +{% endif %} +7. Cole sua chave no campo "Key" (Chave). +{% ifversion ssh-commit-verification %} + ![O campo de chave](/assets/images/help/settings/ssh-key-paste-with-type.png) +{% else %} + ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) +{% endif %} +8. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) {% data reusables.user-settings.sudo-mode-popup %} {% endwebui %} -{% endmac %} - -{% windows %} - -{% webui %} - -1. Copie a chave pública SSH para a sua área de transferência. - - Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. - - ```shell - $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **Dica:** se `clip` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) -5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um Mac pessoal, você poderá chamar essa chave de "MacBook Air Pessoal". -6. Cole sua chave no campo "Key" (Chave). ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) -7. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endwindows %} - -{% linux %} - -{% webui %} - -1. Copie a chave pública SSH para a sua área de transferência. - - Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. - - ```shell - $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file - # displayed in the terminal to your clipboard - ``` - - {% tip %} - - **Dica:** Como alternativa, você pode localizar a pasta oculta de `.ssh`, abrir o arquivo no seu editor de texto favorito e copiá-lo na sua área de transferência. - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. Clique em **New SSH key** (Nova chave SSH) ou **Add SSH key** (Adicionar chave SSH). ![Botão SSH Key (Chave SSH)](/assets/images/help/settings/ssh-add-ssh-key.png) -5. No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um Mac pessoal, você poderá chamar essa chave de "MacBook Air Pessoal". -6. Cole sua chave no campo "Key" (Chave). ![O campo de chave](/assets/images/help/settings/ssh-key-paste.png) -7. Clique em **Add SSH key** (Adicionar chave SSH). ![O botão Add key (Adicionar chave)](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endlinux %} - {% cli %} {% data reusables.cli.cli-learn-more %} Antes de poder usar o {% data variables.product.prodname_cli %} para adicionar uma chave SSH à sua conta, você deve efetuar a autenticação no {% data variables.product.prodname_cli %}. Para obter mais informações, consulte [`login login gh`](https://cli.github.com/manual/gh_auth_login) na documentação do {% data variables.product.prodname_cli %}. -Para adicionar uma chave SSH à sua conta do GitHub, use o subcomando `ssh-key add`, especificando a sua chave pública. +{% ifversion ssh-commit-verification %}, atualmente você só pode usar {% data variables.product.prodname_cli %} para adicionar chaves de autenticação SSH, você não pode adicionar chaves de assinatura SSH.{% endif %} + +Para adicionar uma chave de autenticação SSH à sua conta do GitHub, use o subcomando `ssh-key add`, especificando sua chave pública. ```shell gh ssh-key add key-file diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index 300d985ccf..3a653af08d 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -1,6 +1,6 @@ --- title: Sobre a verificação de assinatura de commit -intro: 'Ao usar GPG ou S/MIME, você pode assinar tags e commits localmente. Essas tags ou commits estão marcadas como verificadas em {% data variables.product.product_name %} para que outras pessoas possam estar confiantes de que as alterações vêm de uma fonte de confiança.' +intro: 'Ao usar o GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou S/MIME, você pode assinar tags e commits localmente. Essas tags ou commits estão marcadas como verificadas em {% data variables.product.product_name %} para que outras pessoas possam estar confiantes de que as alterações vêm de uma fonte de confiança.' redirect_from: - /articles/about-gpg-commit-and-tag-signatures - /articles/about-gpg @@ -20,16 +20,24 @@ shortTitle: Fazer commit da verificação de assinatura ## Sobre a verificação de assinatura de commit -Você pode assinar commits e tags localmente para dar a outras pessoas confiança sobre a origem de uma alteração que você fez. Se um commit ou tag tiver uma assinatura GPG ou S/MIME que seja verificável criptograficamente, o GitHub marcará o commit ou a tag {% ifversion fpt or ghec %}"Verificado" ou "Verificado parcialmente."{% else %}"Verificado."{% endif %} +Você pode assinar commits e tags localmente para dar a outras pessoas confiança sobre a origem de uma alteração que você fez. If a commit or tag has a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} ![Commit verificado](/assets/images/help/commits/verified-commit.png) +{% ifversion ghes or ghae %} +If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." +{% endif %} + +{% ifversion ssh-commit-verification %} +For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. {% data variables.product.product_name %} shows commits that were signed with such a key as "Verified" unless the key was marked as compromised. SSH keys don't have this capability. +{% endif %} + {% ifversion fpt or ghec %} -Os commits e tags têm o seguinte status de verificação, dependendo se você habilitou o modo vigilante. Por padrão, o modo vigilante não está habilitado. Para obter informações sobre como habilitar o modo vigilante, consulte "[Exibir status de verificação para todos os seus commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)". +Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." {% data reusables.identity-and-permissions.vigilant-mode-beta-note %} -A assinatura de commits difere encerrar a sessão em um commit. Para obter mais informações sobre a encerrar sessão nos commits, consulte "[Gerenciando a política de encerramento de sessão do commit do seu repositório](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository). " +Signing commits differs from signing off on a commit. For more information about signing off on commits, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." ### Status padrão @@ -42,34 +50,33 @@ A assinatura de commits difere encerrar a sessão em um commit. Para obter mais ### Verificação de assinatura para rebase e merge {% data reusables.pull_requests.rebase_and_merge_verification %} -Para obter mais informações, consulte "[Fazendo rebase e merge dos seus commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)." +For more information, see "[Rebasing and merging your commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)." ### Status com modo vigilante habilitado {% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} -{% else %} -Se um commit ou tag tiver uma assinatura que não pode ser verificada, {% data variables.product.product_name %} marca o commit ou a tag "não verificada". {% endif %} -Os administradores do repositório podem impor a assinatura de commit obrigatória em um branch para bloquear todos os commits que não estejam assinados e verificados. Para obter mais informações, consulte "[Sobre branches protegidos](/github/administering-a-repository/about-protected-branches#require-signed-commits)." + +Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)." {% data reusables.identity-and-permissions.verification-status-check %} {% ifversion fpt or ghec or ghes > 3.4 %} -{% ifversion ghes %}Se um administrador do site tiver habilitado a assinatura de commit da web, {% data variables.product.product_name %} usará automaticamente o GPG para assinar os commits que você criar usando a interface da web. Os commits assinados por {% data variables.product.product_name %} terão um status verificado. Você pode verificar a assinatura localmente usando a chave pública disponível em `https://HOSTNAME/web-flow.gpg`. Para obter mais informações, consulte "[Configurando a assinatura de commit da web](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing). " -{% else %}{% data variables.product.prodname_dotcom %} usará automaticamente o GPG para assinar os commits que você criar usando a interface da web. Os commits assinados por {% data variables.product.prodname_dotcom %} terão um status verificado. É possível verificar a assinatura localmente usando a chave pública disponível em https://github.com/web-flow.gpg. A impressão digital completa da chave é `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. +{% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. Os commits assinados por {% data variables.product.product_name %} terão um status verificado. You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." +{% else %}{% data variables.product.prodname_dotcom %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.prodname_dotcom %} will have a verified status. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. -Opcionalmente, você pode escolher que {% data variables.product.prodname_dotcom %} assine os commits que você fizer em {% data variables.product.prodname_github_codespaces %}. Para obter mais informações sobre como habilitar a verificação do GPG para os seus codespaces, consulte "[Gerenciando a verificação do GPG para {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} +You can optionally choose to have {% data variables.product.prodname_dotcom %} GPG sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} {% endif %} ## Verificação da assinatura de commit GPG -É possível usar GPG para assinar commits com uma chave GPG que você mesmo gera. +You can use GPG to sign commits with a GPG key that you generate yourself. -{% data variables.product.product_name %} usa bibliotecas OpenPGP para confirmar que seus commits e tags assinados localmente são verificáveis criptograficamente com base em uma chave pública que você adicionou à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. +{% data variables.product.product_name %} uses OpenPGP libraries to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. -Para assinar commits usando GPG e para que esses commits sejam verificados no {% data variables.product.product_name %}, siga estas etapas: +To sign commits using GPG and have those commits verified on {% data variables.product.product_name %}, follow these steps: 1. [Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys) 2. [Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key) @@ -78,28 +85,47 @@ Para assinar commits usando GPG e para que esses commits sejam verificados no {% 5. [Assinar commits](/articles/signing-commits) 6. [Assinar tags](/articles/signing-tags) -## Verificação da assinatura de commit S/MIME +{% ifversion ssh-commit-verification %} +## SSH commit signature verification -Você pode usar S/MIME para assinar commits com uma chave X.509 emitida pela organização. +You can use SSH to sign commits with an SSH public key that you generate yourself. If you already use an SSH key to authenticate with {% data variables.product.product_name %}, you can also upload that same key again for use as a signing key. There's no limit on the number of signing keys you can add to your account. -O {% data variables.product.product_name %} usa [o pacote Debian ca-certificates](https://packages.debian.org/bullseye/ca-certificates), a mesma loja confiável usada pelos navegadores Mozilla, para confirmar se seus commits e tags localmente assinados são criptograficamente verificáveis em uma chave pública em um certificado raiz confiável. +{% data variables.product.product_name %} uses [ssh_data](https://github.com/github/ssh_data), an open source Ruby library, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. + +{% data reusables.gpg.ssh-git-version %} + +To sign commits using SSH and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing SSH keys](/articles/checking-for-existing-ssh-keys) +2. [Generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +3. [Add a SSH signing key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) +4. [Informar o Git sobre a chave de assinatura](/articles/telling-git-about-your-signing-key) +5. [Assinar commits](/articles/signing-commits) +6. [Assinar tags](/articles/signing-tags) + +{% endif %} +## S/MIME commit signature verification + +You can use S/MIME to sign commits with an X.509 key issued by your organization. + +{% data variables.product.product_name %} uses [the Debian ca-certificates package](https://packages.debian.org/bullseye/ca-certificates), the same trust store used by Mozilla browsers, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key in a trusted root certificate. {% data reusables.gpg.smime-git-version %} -Para assinar commits usando S/MIME e para que esses commits sejam verificados no {% data variables.product.product_name %}, siga estas etapas: +To sign commits using S/MIME and have those commits verified on {% data variables.product.product_name %}, follow these steps: 1. [Informar o Git sobre a chave de assinatura](/articles/telling-git-about-your-signing-key) 2. [Assinar commits](/articles/signing-commits) 3. [Assinar tags](/articles/signing-tags) -Não é preciso fazer upload da chave pública no {% data variables.product.product_name %}. +You don't need to upload your public key to {% data variables.product.product_name %}. {% ifversion fpt or ghec %} -## Verificação de assinatura para bots +## Signature verification for bots -As organizações e {% data variables.product.prodname_github_apps %} que exigem a assinatura de commit podem usar bots para assinar commits. Se um commit ou uma tag tiver uma assinatura de bot que possa ser verificada de maneira criptográfica, o {% data variables.product.product_name %} marcará o commit ou tag como verificado. +Organizations and {% data variables.product.prodname_github_apps %} that require commit signing can use bots to sign commits. If a commit or tag has a bot signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag as verified. -A verificação de assinatura para bots somente funcionará se a solicitação for verificada e autenticada como o {% data variables.product.prodname_github_app %} ou bot e se não tiver informações de autor personalizadas, informações de committer personalizadas e nenhuma informação de assinatura personalizada, como API de commits. +Signature verification for bots will only work if the request is verified and authenticated as the {% data variables.product.prodname_github_app %} or bot and contains no custom author information, custom committer information, and no custom signature information, such as Commits API. {% endif %} ## Leia mais diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index 118c195d3a..b954898815 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -19,7 +19,7 @@ redirect_from: Ao trabalhar localmente no seu computador, o Git permite que você defina o autor das suas alterações e a identidade do autor do autor do autor do committer. Isso torna potencialmente difícil para outras pessoas estarem confiantes de que os commits e tags que você cria foram realmente criados por você. Para ajudar a resolver esse problema, você pode assinar seus commits e tags. Para obter mais informações, consulte "[Assinar commits](/github/authenticating-to-github/signing-commits)" e "[Assinar tags](/github/authenticating-to-github/signing-tags)". {% data variables.product.prodname_dotcom %} marca commits e tags assinadas com um status de verificação. -Por padrão, os commits e tags são marcados como "Verificados" se forem assinadas com uma chave GPG ou S/MIME que foi verificada com sucesso. Se um commit ou tag tiver uma assinatura que não pode ser verificada por {% data variables.product.prodname_dotcom %}, nós marcaremos o commit ou a tag como "não verificado". Em todos os outros casos, não se exibe nenhum status de verificação. +Por padrão os commits e tags são marcados como "Verificados" se forem assinados com um GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou chave S/MIME que foi verificada com sucesso. Se um commit ou tag tiver uma assinatura que não pode ser verificada por {% data variables.product.prodname_dotcom %}, nós marcaremos o commit ou a tag como "não verificado". Em todos os outros casos, não se exibe nenhum status de verificação. No entanto, você pode dar a outros usuários maior confiança na identidade atribuída aos seus commits e tags, habilitando o modo vigilante nas configurações do seu {% data variables.product.prodname_dotcom %} Com o modo vigilante habilitado, todos os seus commits e tags são marcados com um de três status de verificação. diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md index a4af5448ea..37449ac202 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -29,11 +29,11 @@ topics: {% data reusables.command_line.open_the_multi_os_terminal %} 3. Gere um par de chaves GPG. Já que existem várias versões do GPG, é possível que você tenha de consultar a [_página man_](https://en.wikipedia.org/wiki/Man_page) relevante para encontrar o comando de geração de chaves apropriado. A sua chave deve usar RSA. - Se a sua versão for 2.1.17 ou posterior, cole o texto abaixo para gerar um par de chaves GPG. - ```shell + ```shell{:copy} $ gpg --full-generate-key ``` - Se a sua versão não for 2.1.17 ou posterior, o comando `gpg --full-generate-key` não funcionará. Cole o texto abaixo e passe para a etapa 6. - ```shell + ```shell{:copy} $ gpg --default-new-key-algo rsa4096 --gen-key ``` 4. Mediante instrução, especifique o tipo de tecla que você deseja ou pressione `Enter` para aceitar o padrão. @@ -52,10 +52,10 @@ topics: {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} 10. Cole o texto abaixo, substituindo o ID da chave GPG que você quer usar. Neste exemplo, o ID da chave GPG é `3AA5C34371567BD2`: - ```shell - $ gpg --armor --export 3AA5C34371567BD2 - # Prints the GPG key ID, in ASCII armor format - ``` + ```shell{:copy} + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` 11. Copie sua chave GPG, que inicia com `-----BEGIN PGP PUBLIC KEY BLOCK-----` e termina com `-----END PGP PUBLIC KEY BLOCK-----`. 12. [Adicione a chave GPG à sua conta GitHub](/articles/adding-a-gpg-key-to-your-github-account). diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md index 9da2d2a911..b27a93b90e 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/index.md @@ -1,6 +1,6 @@ --- title: Gerenciar a verificação de assinatura de commit -intro: 'Você pode assinar seu trabalho localmente usando GPG ou S/MIME. O {% data variables.product.product_name %} verificará essas assinaturas, assim as pessoas saberão que seus commits tem origem em uma fonte confiável.{% ifversion fpt %} O {% data variables.product.product_name %} assinará automaticamente os commits que você fez com a interface web do {% data variables.product.product_name %}.{% endif %}' +intro: '{% data variables.product.product_name %} verificará as assinaturas do GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou do S/MIME para que outras pessoas saibam que seus commits vêm de uma fonte confiável.{% ifversion fpt %} {% data variables.product.product_name %} assinará automaticamente os commits que você criar usando a interface web de {% data variables.product.product_name %}.{% endif %}' redirect_from: - /articles/generating-a-gpg-key - /articles/signing-commits-with-gpg diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md index e0ec52ed19..ff012071cc 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -1,6 +1,6 @@ --- title: Assinar commits -intro: Você pode assinar commits localmente usando GPG ou S/MIME. +intro: 'Você pode assinar commits localmente usando GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou S/MIME.' redirect_from: - /articles/signing-commits-and-tags-using-gpg - /articles/signing-commits-using-gpg @@ -52,9 +52,5 @@ Se você tiver várias chaves ou estiver tentando assinar commits ou tags com um ## Leia mais -* "[Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -* "[Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key)" -* "[Adicionar uma chave GPG à sua conta do GitHub](/articles/adding-a-gpg-key-to-your-github-account)" * "[Avisar o Git sobre sua chave de assinatura](/articles/telling-git-about-your-signing-key)" -* "[Associar um e-mail à sua chave GPG](/articles/associating-an-email-with-your-gpg-key)" * "[Assinar tags](/articles/signing-tags)" diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md index da4d6b8fc4..df242be566 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -1,6 +1,6 @@ --- title: Assinar tags -intro: Você pode assinar as tags localmente usando GPG ou S/MIME. +intro: 'Você pode assinar as tags localmente usando GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou S/MIME.' redirect_from: - /articles/signing-tags-using-gpg - /articles/signing-tags @@ -32,9 +32,6 @@ topics: ## Leia mais - "[Exibir tags do seu repositório](/articles/viewing-your-repositorys-tags)" -- "[Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key)" -- "[Adicionar uma chave GPG à sua conta do GitHub](/articles/adding-a-gpg-key-to-your-github-account)" - "[Avisar o Git sobre sua chave de assinatura](/articles/telling-git-about-your-signing-key)" - "[Associar um e-mail à sua chave GPG](/articles/associating-an-email-with-your-gpg-key)" - "[Assinar commits](/articles/signing-commits)" diff --git a/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index a3f04d5f61..2b2ced2515 100644 --- a/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/pt-BR/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -1,6 +1,6 @@ --- title: Informar ao Git sobre a chave de assinatura -intro: 'Para assinar commits localmente, você precisa informar ao Git que há uma chave GPG ou X.509 que você gostaria de usar.' +intro: 'Para assinar os commits localmente, você deve informar ao Git que há uma chave GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} ou X.509 que você gostaria de usar.' redirect_from: - /articles/telling-git-about-your-gpg-key - /articles/telling-git-about-your-signing-key @@ -52,8 +52,6 @@ Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usad $ killall gpg-agent ``` -{% data reusables.gpg.x-509-key %} - {% endmac %} {% windows %} @@ -75,8 +73,6 @@ Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usad {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} -{% data reusables.gpg.x-509-key %} - {% endwindows %} {% linux %} @@ -101,15 +97,25 @@ Se você tiver várias chaves GPG, precisará informar ao Git qual deve ser usad ```bash $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc ``` - {% endlinux %} +{% ifversion ssh-commit-verification %} +## Informando ao Git sobre sua chave SSH + +Você pode usar uma chave SSH existente para assinar commits e tags ou gerar uma nova especificamente para fazer o login. Para obter mais informações, consulte "[Gerar uma nova chave SSH e adicioná-la ao ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)". + +{% data reusables.gpg.ssh-git-version %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.configure-ssh-signing %} +{% data reusables.gpg.copy-ssh-public-key %} +{% data reusables.gpg.paste-ssh-public-key %} + +{% endif %} + +{% data reusables.gpg.x-509-key %} ## Leia mais -- "[Verificar se há chaves GPG existentes](/articles/checking-for-existing-gpg-keys)" -- "[Gerar uma nova chave GPG](/articles/generating-a-new-gpg-key)" -- "[Usar um endereço de e-mail verificado na chave GPG](/articles/using-a-verified-email-address-in-your-gpg-key)" -- "[Adicionar uma chave GPG à sua conta do GitHub](/articles/adding-a-gpg-key-to-your-github-account)" -- "[Associar um e-mail à sua chave GPG](/articles/associating-an-email-with-your-gpg-key)" +- "[Adicionando uma nova chave SSH à sua conta do GitHub](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)". - "[Assinar commits](/articles/signing-commits)" - "[Assinar tags](/articles/signing-tags)" diff --git a/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index c303e793d3..cfadee7cef 100644 --- a/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/translations/pt-BR/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -22,7 +22,10 @@ shortTitle: Verificar status da verificação 1. No {% data variables.product.product_name %}, navegue até sua pull request. {% data reusables.repositories.review-pr-commits %} 3. Ao lado do hash do commit abreviado do seu commit, há uma caixa que mostra se a assinatura do seu commit foi verificada{% ifversion fpt or ghec %}, parcialmente verificada{% endif %} ou não verificada. ![Commit assinado](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. Para ver informações mais detalhadas sobre a assinatura de commit, clique em **Verificado**{% ifversion fpt or ghec %}, **Parcialmente verificado**,{% endif %} ou **Não verificado**. ![Commit assinado verificado](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +4. Para ver informações mais detalhadas sobre a assinatura de commit, clique em **Verificado**{% ifversion fpt or ghec %}, **Parcialmente verificado**,{% endif %} ou **Não verificado**. Os commits do GPG assinados mostrarão o ID da chave que foi usada. ![Commit assinado do GPG verificado](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +{% ifversion ssh-commit-verification %} + Os commits assinados do SSH mostrarão a assinatura da chave pública usada. ![Commit assinado do SSH verificado](/assets/images/help/commits/ssh-signed-commit-verified-details.png) +{% endif %} ## Confirmar o status de verificação da assinatura da tag diff --git a/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index 86db0fd86c..9b43c4f136 100644 --- a/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/translations/pt-BR/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -50,9 +50,9 @@ Todos os dados transferidos, quando acionados por {% data variables.product.prod O uso do armazenamento é compartilhado com artefatos de construção produzidos por {% data variables.product.prodname_actions %} para repositórios de sua conta. Para obter mais informações, consulte "[Sobre a cobrança do {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." -O {% data variables.product.prodname_dotcom %} cobra o uso da conta que possui o repositório onde o pacote é publicado. Se o uso da sua conta ultrapassar esses limites e você definir um limite de gastos acima de US$ 0, você pagará US$ 25por GB de armazenamento por dia e US$ 0,50 por GB de transferência de dados. +O {% data variables.product.prodname_dotcom %} cobra o uso da conta que possui o repositório onde o pacote é publicado. Se o uso da sua conta ultrapassar esses limites e você definir um limite de gastos acima de US$ 0, você pagará US$ 0,008 por GB de armazenamento por dia e US$ 0,50 por GB de transferência de dados. -Por exemplo, se sua organização usa {% data variables.product.prodname_team %}, permite gastos ilimitados, usa 150GB de armazenamento, e possui 50GB de transferência de dados durante um mês, a organização teria excessos de 148GB para armazenamento e 40GB para transferência de dados para esse mês. O excesso de armazenamento custaria US$ 25 por GB por dia ou US$ 37. O excesso para transferência de dados custaria US$ 0,50 ou US$ 20 por GB. +Por exemplo, se sua organização usa {% data variables.product.prodname_team %}, permite gastos ilimitados, usa 150GB de armazenamento, e possui 50GB de transferência de dados durante um mês, a organização teria excessos de 148GB para armazenamento e 40GB para transferência de dados para esse mês. A sobrecarga de armazenamento custa US$ 0,008 por GB por dia ou, aproximadamente, US$ 7 dólares por mês de 31 dias. O excesso para transferência de dados custaria US$ 0,50 ou US$ 20 por GB. {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} diff --git a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index 66a636187e..346ae5349a 100644 --- a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -42,8 +42,8 @@ Por padrão, a página de verificação de código de alertas é filtrada para m ![Resumo dos alertas](/assets/images/help/repository/code-scanning-click-alert.png) {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} - {% data reusables.code-scanning.alert-default-branch %} - ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} + {% data reusables.code-scanning.alert-default-branch %} + ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} 1. Opcionalmente, se o alerta destacar um problema com o fluxo de dados, clique em **Mostrar caminhos** para exibir o caminho da fonte de dados até o destino onde é usado. {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} ![O link "Exibir caminhos" em um alerta](/assets/images/help/repository/code-scanning-show-paths.png) diff --git a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index aa2e73b1d1..b4bfdc45f4 100644 --- a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -32,6 +32,12 @@ Se você estiver configurando {% data variables.product.prodname_code_scanning % Você deve executar {% data variables.product.prodname_codeql %} dentro do contêiner no qual você constrói seu código. Isso se aplica se você estiver usando o {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}, o {% data variables.product.prodname_codeql_runner %},{% endif %} ou {% data variables.product.prodname_actions %}. Para o {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %}ou o {% data variables.product.prodname_codeql_runner %}{% endif %}, consulte "[Instalando {% data variables.product.prodname_codeql_cli %} no seu sistema de CI](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)"{% ifversion codeql-runner-supported %} or "[Executando {% data variables.product.prodname_codeql_runner %} no seu sistema de CI](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)"{% endif %} para obter mais informações. Se estiver usando {% data variables.product.prodname_actions %}, configure seu fluxo de trabalho para executar todas as ações no mesmo contêiner. Para obter mais informações, consulte "[Exemplo de fluxo de trabalho](#example-workflow)". +{% note %} + +**Observação:** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + ## Dependências Você pode ter dificuldade para executar {% data variables.product.prodname_code_scanning %} se o contêiner que você está usando estiver com certas dependências ausentes (por exemplo, o Git deve ser instalado e adicionado à variável PATH). Se você encontrar problemas de dependência, revise a lista de software normalmente incluída nas imagens do executor de {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte os arquivos de `readme` específicos da versão nesses locais: diff --git a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 986883acb4..3584f1e328 100644 --- a/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/translations/pt-BR/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -143,25 +143,29 @@ Os nomes das verificações de análise de {% data variables.product.prodname_co ![Verificações de pull request de {% data variables.product.prodname_code_scanning %}](/assets/images/help/repository/code-scanning-pr-checks.png) -Quando os trabalhos de {% data variables.product.prodname_code_scanning %} forem concluídos, {% data variables.product.prodname_dotcom %} calcula se quaisquer alertas foram adicionados pelo pull request e adiciona a entrada "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" à lista de verificações. Depois de {% data variables.product.prodname_code_scanning %} ser executado pelo menos uma vez, você poderá clicar em **Detalhes** para visualizar os resultados da análise. Se você usou um pull request para adicionar {% data variables.product.prodname_code_scanning %} ao repositório, inicialmente você verá uma mensagem de {% ifversion fpt or ghes > 3.2 or ghae or ghec %} "Análise não encontrada"{% else %}"Análise ausente"{% endif %} ao clicar em **Detalhes** na verificação de "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME". +Quando os trabalhos de {% data variables.product.prodname_code_scanning %} forem concluídos, {% data variables.product.prodname_dotcom %} calcula se quaisquer alertas foram adicionados pelo pull request e adiciona a entrada "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" à lista de verificações. Depois de {% data variables.product.prodname_code_scanning %} ser executado pelo menos uma vez, você poderá clicar em **Detalhes** para visualizar os resultados da análise. -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} - ![Análise não encontrada para mensagem de commit](/assets/images/help/repository/code-scanning-analysis-not-found.png) +{% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-7095 %} + +{% elsif ghes < 3.5 or ghae %} +Se você usou um pull request para adicionar {% data variables.product.prodname_code_scanning %} ao repositório, inicialmente você verá uma mensagem de {% ifversion ghes > 3.2 or ghae %} "Análise não encontrada"{% elsif ghes = 3.2 %}"Análise ausente"{% endif %} ao clicar em **Detalhes** na verificação de "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME". + +{% ifversion ghes > 3.2 or ghae %} + ![Análise não encontrada para mensagem de commit](/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png) A tabela lista uma ou mais categorias. Cada categoria está relacionada a análises específicas, para a mesma ferramenta e commit, realizadas em uma linguagem diferente ou em uma parte diferente do código. Para cada categoria a tabela mostra as duas análises que {% data variables.product.prodname_code_scanning %} tentou comparar para determinar quais alertas foram introduzidos ou corrigidos no pull request. Por exemplo, na captura de tela acima, {% data variables.product.prodname_code_scanning %} encontrou uma análise para o commit do merge do pull request, mas não há análise para o cabeçalho do branch principal. -{% else %} - ![Análise ausente para mensagem de commit](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) -{% endif %} -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} ### Motivos para a mensagem "Análise não encontrada" -{% else %} + +{% elsif ghes = 3.2 %} + ![Análise ausente para mensagem de commit](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) + ### Motivos para a mensagem "Análise ausente" {% endif %} -Depois que {% data variables.product.prodname_code_scanning %} analisou o código em um pull request, ele precisa comparar a análise do branch de tópico (o branch que você usou para criar o pull request) com a análise do branch de base (o branch no qual você deseja mesclar o pull request). Isso permite que {% data variables.product.prodname_code_scanning %} calcule quais alertas foram recém-introduzidos pelo pull request, que alertas já estavam presentes no branch de base e se alguns alertas existentes são corrigidos pelas alterações no pull request. Inicialmente, se você usar um pull request para adicionar {% data variables.product.prodname_code_scanning %} a um repositório, o branch de base ainda não foi analisado. Portanto, não é possível computar esses detalhes. Neste caso, quando você clicar nos resultados verificando o pull request você verá a mensagem {% ifversion fpt or ghes > 3.2 or ghae or ghec %}"Análise não encontrada"{% else %}"Análise ausente do commit base SHA-HASH"{% endif %}. +Depois que {% data variables.product.prodname_code_scanning %} analisou o código em um pull request, ele precisa comparar a análise do branch de tópico (o branch que você usou para criar o pull request) com a análise do branch de base (o branch no qual você deseja mesclar o pull request). Isso permite que {% data variables.product.prodname_code_scanning %} calcule quais alertas foram recém-introduzidos pelo pull request, que alertas já estavam presentes no branch de base e se alguns alertas existentes são corrigidos pelas alterações no pull request. Inicialmente, se você usar um pull request para adicionar {% data variables.product.prodname_code_scanning %} a um repositório, o branch de base ainda não foi analisado. Portanto, não é possível computar esses detalhes. Neste caso, quando você clicar nos resultados verificando o pull request você verá a mensagem {% ifversion ghes > 3.2 or ghae %}"Análise não encontrada"{% elsif ghes = 3.2 %}"Análise ausente do commit base SHA-HASH"{% endif %}. Há outras situações em que não pode haver análise para o último commit do branch de base para um pull request. Isso inclui: @@ -169,7 +173,7 @@ Há outras situações em que não pode haver análise para o último commit do Para verificar se um branch foi verificado, acesse a página {% data variables.product.prodname_code_scanning_capc %}, clique no menu suspenso **Branch** e selecione o branch relevante. -![Escolha um branch no menu suspenso Branch](/assets/images/help/repository/code-scanning-branch-dropdown.png) + ![Escolha um branch no menu suspenso Branch](/assets/images/help/repository/code-scanning-branch-dropdown.png) A solução nesta situação é adicionar o nome do branch de base para a especificação `on:push` e `on:pull_request` no fluxo de trabalho de {% data variables.product.prodname_code_scanning %} nesse branch e, em seguida, fazer uma alteração que atualize o pull request aberto que você deseja escanear. @@ -181,13 +185,15 @@ Há outras situações em que não pode haver análise para o último commit do Faça merge uma mudança trivial no branch de base para acionar {% data variables.product.prodname_code_scanning %} neste commit mais recente e, em seguida, faça push de uma alteração para o pull request reiniciar {% data variables.product.prodname_code_scanning %}. +{% endif %} + ## Próximas etapas Após configurar a opção {% data variables.product.prodname_code_scanning %}, e permitir que suas ações sejam concluídas, você pode: - Visualizar todos os alertas de {% data variables.product.prodname_code_scanning %} gerados para este repositório. Para obter mais informações, consulte "[Gerenciar alertas de {% data variables.product.prodname_code_scanning %} para o seu repositório](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)". - Visualizar todos os alertas gerados para um pull request enviado após configurar {% data variables.product.prodname_code_scanning %}. Para obter mais informações, consulte "[Triar alertas de {% data variables.product.prodname_code_scanning %} em pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)". -- Configurar notificações para execuções concluídas. Para obter mais informações, consulte “[Configurando notificações](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)". +- Configurar notificações para execuções concluídas. Para obter mais informações, consulte “[Configurar notificações](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)". - Visualizar os logs gerados pela análise do {% data variables.product.prodname_code_scanning %}. Para obter mais informações, consulte "[Visualizar registros de {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs)". - Investigue todos os problemas que ocorrerem com a configuração inicial de {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}. Para obter mais informações, consulte "[Solucionar problemas no fluxo de trabalho de {% data variables.product.prodname_codeql %}](/code-security/secure-coding/troubleshooting-the-codeql-workflow)". - Personalize como {% data variables.product.prodname_code_scanning %} faz a varredura de código no seu repositório. Para obter mais informações, consulte "[Configurando {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)." diff --git a/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index daeb17e483..74df7049d2 100644 --- a/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -45,9 +45,15 @@ If you upload a second SARIF file for a commit with the same category and from t If you're new to SARIF and want to learn more, see Microsoft's [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) repository. -## Preventing duplicate alerts using fingerprints +## Providing data to track {% data variables.product.prodname_code_scanning %} alerts across runs -Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the right line of code when files are edited. +Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the correct line of code when files are edited. The `ruleID` for a result has to be the same across analysis. + +### Reporting consistent filepaths + +The filepath has to be consistent across the runs to enable a computation of a stable fingerprint. If the filepaths differ for the same result, each time there is a new analysis a new alert will be created, and the old one will be closed. This will cause having multiple alerts for the same result. + +### Including data for fingerprint generation {% data variables.product.prodname_dotcom %} uses the `partialFingerprints` property in the OASIS standard to detect when two results are logically identical. For more information, see the "[partialFingerprints property](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611)" entry in the OASIS documentation. @@ -77,6 +83,12 @@ You can check a SARIF file is compatible with {% data variables.product.prodname If you use a code analysis engine other than {% data variables.product.prodname_codeql %}, you can review the supported SARIF properties to optimize how your analysis results will appear on {% data variables.product.prodname_dotcom %}. +{% note %} + +**Note:** You must supply an explicit value for any property marked as "required". The empty string is not supported for required properties. + +{% endnote %} + Any valid SARIF 2.1.0 output file can be uploaded, however, {% data variables.product.prodname_code_scanning %} will only use the following supported properties. ### `sarifLog` object @@ -138,7 +150,7 @@ Each `result` object contains details for one alert in the codebase. Within the | `level`| **Optional.** The severity of the result. This level overrides the default severity defined by the rule. {% data variables.product.prodname_code_scanning_capc %} uses the level to filter results by severity on {% data variables.product.prodname_dotcom %}. | `message.text`| **Required.** A message that describes the result. {% data variables.product.prodname_code_scanning_capc %} displays the message text as the title of the result. Only the first sentence of the message will be displayed when visible space is limited. | `locations[]`| **Required.** The set of locations where the result was detected up to a maximum of 10. Only one location should be included unless the problem can only be corrected by making a change at every specified location. **Note:** At least one location is required for {% data variables.product.prodname_code_scanning %} to display a result. {% data variables.product.prodname_code_scanning_capc %} will use this property to decide which file to annotate with the result. Only the first value of this array is used. All other values are ignored. -| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Preventing duplicate alerts using fingerprints](#preventing-duplicate-alerts-using-fingerprints)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. +| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Providing data to track code scanning alerts across runs](#providing-data-to-track-code-scanning-alerts-across-runs)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. | `codeFlows[].threadFlows[].locations[]`| **Optional.** An array of `location` objects for a `threadFlow` object, which describes the progress of a program through a thread of execution. A `codeFlow` object describes a pattern of code execution used to detect a result. If code flows are provided, {% data variables.product.prodname_code_scanning %} will expand code flows on {% data variables.product.prodname_dotcom %} for the relevant result. For more information, see the [`location` object](#location-object). | `relatedLocations[]`| A set of locations relevant to this result. {% data variables.product.prodname_code_scanning_capc %} will link to related locations when they are embedded in the result message. For more information, see the [`location` object](#location-object). @@ -204,7 +216,7 @@ These example SARIF output files show supported properties and example values. ### Example with minimum required properties -This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties or don't include values, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. +This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties, omit values, or use an empty string, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. ```json { diff --git a/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 1e03a239f3..193ee54f5a 100644 --- a/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/translations/pt-BR/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -58,7 +58,7 @@ For more information see the [`upload-sarif` action](https://github.com/github/c The `upload-sarif` action can be configured to run when the `push` and `scheduled` event occur. For more information about {% data variables.product.prodname_actions %} events, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." -If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#preventing-duplicate-alerts-using-fingerprints)." +If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs)." {% data reusables.code-scanning.upload-sarif-alert-limit %} diff --git a/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md index 48561fe8e6..8a4c941db3 100644 --- a/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md +++ b/translations/pt-BR/content/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -40,24 +40,24 @@ A aba de {% data variables.product.prodname_dependabot_alerts %} do seu reposit Cada alerta de {% data variables.product.prodname_dependabot %} tem um identificador único de número e a aba de {% data variables.product.prodname_dependabot_alerts %} lista um alerta para cada vulnerabilidade detectada. O legado de {% data variables.product.prodname_dependabot_alerts %} agrupou as vulnerabilidades por dependência e gerou um único alerta por dependência. Se você acessar um alerta de legado {% data variables.product.prodname_dependabot %}, você será redirecionado para uma aba de {% data variables.product.prodname_dependabot_alerts %} filtrada para esse pacote. {% endif %} {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-5638 %} -You can filter and sort {% data variables.product.prodname_dependabot_alerts %} using a variety of filters and sort options available on the user interface. For more information, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)" below. +Você pode filtrar e classificar {% data variables.product.prodname_dependabot_alerts %} usando uma série de filtros e opções de classificação disponíveis na interface do usuário. Para obter mais informações, consulte "[Priorizando {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)" abaixo. -## Prioritizing {% data variables.product.prodname_dependabot_alerts %} +## Priorizando {% data variables.product.prodname_dependabot_alerts %} -{% data variables.product.company_short %} helps you prioritize fixing {% data variables.product.prodname_dependabot_alerts %}. {% ifversion dependabot-most-important-sort-option %} By default, {% data variables.product.prodname_dependabot_alerts %} are sorted by importance. The "Most important" sort order helps you prioritize which {% data variables.product.prodname_dependabot_alerts %} to focus on first. Os alertas são classificados com base no seu impacto potencial, atuabilidade e relevância. O nosso cálculo de priorização está em melhoria constante e inclui fatores como pontuação do CVSS, âmbito de dependência, e se são encontradas chamadas de função vulneráveis para o alerta. +{% data variables.product.company_short %} ajuda você a priorizar a correção de {% data variables.product.prodname_dependabot_alerts %}. {% ifversion dependabot-most-important-sort-option %} Por padrão, {% data variables.product.prodname_dependabot_alerts %} são ordenados por importância. A ordenação "mais importante" ajuda você a priorizar na qual {% data variables.product.prodname_dependabot_alerts %} deve se concentrar primeiro. Os alertas são classificados com base no seu impacto potencial, atuabilidade e relevância. O nosso cálculo de priorização está em melhoria constante e inclui fatores como pontuação do CVSS, âmbito de dependência, e se são encontradas chamadas de função vulneráveis para o alerta. ![Captura de tela da classificação suspensa com a classificação "mais importante"](/assets/images/help/dependabot/dependabot-alerts-sort-dropdown.png) {% endif %} {% data reusables.dependabot.dependabot-alerts-filters %} -In addition to the filters available via the search bar, you can sort and filter {% data variables.product.prodname_dependabot_alerts %} using the dropdown menus at the top of the alert list. The search bar also allows for full text searching of alerts and related security advisories. You can search for part of a security advisory name or description to return the alerts in your repository that relate to that security advisory. For example, searching for `yaml.load() API could execute arbitrary code` will return {% data variables.product.prodname_dependabot_alerts %} linked to "[PyYAML insecurely deserializes YAML strings leading to arbitrary code execution](https://github.com/advisories/GHSA-rprw-h62v-c2w7)" as the search string appears in the advisory description. +Além dos filtros disponíveis na barra de pesquisa, você pode ordenar e filtrar {% data variables.product.prodname_dependabot_alerts %} usando os menus suspensos na parte superior da lista de alertas. A barra de pesquisa também permite a pesquisa por texto completo de alertas e consultorias de segurança relacionados. Você pode pesquisar parte de uma consultoria de segurança ou uma descrição para devolver os alertas no seu repositório que estejam relacionados a essa consultoria de segurança. For example, searching for `yaml.load() API could execute arbitrary code` will return {% data variables.product.prodname_dependabot_alerts %} linked to "[PyYAML insecurely deserializes YAML strings leading to arbitrary code execution](https://github.com/advisories/GHSA-rprw-h62v-c2w7)" as the search string appears in the advisory description. {% endif %} {% ifversion dependabot-bulk-alerts %} ![Captura de tela dos menus filtro e ordenação na aba de {% data variables.product.prodname_dependabot_alerts %}](/assets/images/help/graphs/dependabot-alerts-filters-checkbox.png){% elsif ghes = 3.5 %} -You can select a filter in a dropdown menu at the top of the list, then click the filter that you would like to apply. ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} +Você pode selecionar um filtro em um menu suspenso na parte superior da lista e, em seguida, clicar no filtro que gostaria de aplicar. ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} {% ifversion dependabot-alerts-development-label %} ## Ecossistemas e manifestos compatíveis com o escopo de dependência @@ -110,7 +110,7 @@ Para obter mais informações, consulte "[Revisando e corrigindo alertas](#revie {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-dependabot-alerts %} -1. Optionally, to filter alerts, select a filter in a dropdown menu then click the filter that you would like to apply. Você também pode digitar filtros na barra de pesquisa. For more information about filtering and sorting alerts, see "[Prioritizing {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)." +1. Opcionalmente, para filtrar alertas, selecione um filtro no menu suspenso e, em seguida, clique no filtro que deseja aplicar. Você também pode digitar filtros na barra de pesquisa. Para obter mais informações sobre filtragem e classificação dos alertas, consulte "[Prioritizando {% data variables.product.prodname_dependabot_alerts %}](#prioritizing-across--data-variablesproductprodname_dependabot_alerts-)". {%- ifversion dependabot-bulk-alerts %} ![Captura de tela dos menus filtro e ordenação na aba de {% data variables.product.prodname_dependabot_alerts %}](/assets/images/help/graphs/dependabot-alerts-filters-checkbox.png){% else %} ![Screenshot of the filter and sort menus in the {% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/3.5/dependabot/dependabot-alerts-filters.png){% endif %} @@ -164,9 +164,9 @@ Se você agendar um extenso trabalho para atualizar uma dependência ou decidir 1. Ver detalhes de um alerta. Para obter mais informações, consulte "[Visualizando dependências vulneráveis](#viewing-dependabot-alerts)" (acima). 1. Selecione o menu suspenso "Ignorar" e clique em um motivo para ignorar o alerta.{% ifversion reopen-dependabot-alerts %} Alertas não descartados podem ser reabertos posteriormente.{% endif %} -{% ifversion dependabot-alerts-dismissal-comment %}1. Optionally, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can retrieve or set a comment by using the GraphQL API. The comment is contained in the `dismissComment` field. For more information, see "[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)" in the GraphQL API documentation. - ![Screenshot showing how to dismiss an alert via the "Dismiss" drop-down, with the option to add a dismissal comment](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) -1. Click **Dismiss alert**. +{% ifversion dependabot-alerts-dismissal-comment %}1. Opcionalmente, adicione um comentário de dispensa. O comentário de dispensa será adicionado à linha do tempo de alerta e poderá ser usado como justificativa durante a auditoria e a apresentação de relatórios. Você pode recuperar ou definir um comentário usando a API do GraphQL. O comentário está contido no campo `dismissComment` Para obter mais informações, consulte "[{% data variables.product.prodname_dependabot_alerts %}](/graphql/reference/objects#repositoryvulnerabilityalert)" na documentação da API do GraphQL. + ![Captura de tela que mostra como ignorar um alerta por meio do menu suspenso "ignorar" com a opção de adicionar um comentário de dispensa](/assets/images/help/repository/dependabot-alerts-dismissal-comment.png) +1. Clique **Ignorar alerta**. {% else %} ![Escolher o motivo para ignorar o alerta a partir do menu suspenso "Ignorar"down](/assets/images/help/repository/dependabot-alert-dismiss-drop-down-ungrouped.png){% endif %} {% ifversion dependabot-bulk-alerts %} @@ -185,7 +185,7 @@ Se você agendar um extenso trabalho para atualizar uma dependência ou decidir ## Visualizando e atualizando alertas fechados -You can view all open alerts, and you can reopen alerts that have been previously dismissed. Os alertas fechados que já foram corrigidos não podem ser reabertos. +Você pode visualizar todos os alertas abertos e pode reabrir os alertas que foram ignorados anteriormente. Os alertas fechados que já foram corrigidos não podem ser reabertos. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} diff --git a/translations/pt-BR/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md b/translations/pt-BR/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md index 74de2a9c91..19d4b04726 100644 --- a/translations/pt-BR/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md +++ b/translations/pt-BR/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md @@ -416,7 +416,7 @@ updates: ### `open-pull-requests-limit` -Por padrão, {% data variables.product.prodname_dependabot %} abre um máximo de cinco pull requests para atualizações de versão. Uma vez que há cinco pull requests abertos, novas solicitações serão bloqueadas até que você faça o merge ou feche alguns dos pull requests aberto, e, após esse peeríodo, novos pull requests poderão ser abertos em atualizações subsequentes. Use `open-pull-requests-limit` para alterar este limite. Isto também fornece uma maneira simples de desativar temporariamente as atualizações de versão para um gerenciador de pacotes. +Por padrão, {% data variables.product.prodname_dependabot %} abre um máximo de cinco pull requests para atualizações de versão. Como há cinco pull requests em aberto de {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_dependabot %} não abrirá nenhuma nova solicitação até que algumas das solicitações abertas sejam mescladas ou fechadas. Use `open-pull-requests-limit` para alterar este limite. Isto também fornece uma maneira simples de desativar temporariamente as atualizações de versão para um gerenciador de pacotes. Esta opção não tem impacto em atualizações de segurança, que têm um limite interno separado de dez pull requests abertas. diff --git a/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md b/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md index 481ec138e4..0110c45c23 100644 --- a/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md +++ b/translations/pt-BR/content/code-security/secret-scanning/about-secret-scanning.md @@ -39,7 +39,7 @@ Service providers can partner with {% data variables.product.company_short %} to {% ifversion secret-scanning-push-protection %} -You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. {% ifversion push-protection-custom-link-orgs %}Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. {% endif %}For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} diff --git a/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md index e7449ab8d9..5efb3d4ac3 100644 --- a/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md +++ b/translations/pt-BR/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -60,8 +60,20 @@ Os proprietários da organização, gerentes de segurança e administradores de Até cinco segredos detectados serão exibidos por vez na linha de comando. Se um segredo específico já foi detectado no repositório e um alerta já existe, {% data variables.product.prodname_dotcom %} não bloqueará esse segredo. +{% ifversion push-protection-custom-link-orgs %} + +Os administradores da organização podem fornecer um link personalizado que será exibido quando um push estiver bloqueado. Este link personalizado pode conter recursos e conselhos específicos da organização como, por exemplo, orientações sobre como usar um cofre de segredos recomendado ou como entrar em contato em caso de perguntas relacionadas ao segredo bloqueado. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +![Captura de tela que mostra que um push está bloqueado quando um usuário tenta fazer push de um segredo para um repositório](/assets/images/help/repository/secret-scanning-push-protection-with-custom-link.png) + +{% else %} + ![Captura de tela que mostra que um push está bloqueado quando um usuário tenta fazer push de um segredo para um repositório](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) +{% endif %} + {% data reusables.secret-scanning.push-protection-remove-secret %} Para obter mais informações sobre correção de segredos bloqueados, consulte "[Enviando por push um branch bloqueado pela proteção de push](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)." Se você confirmar que um segredo é real e pretender corrigi-lo mais tarde, você deverá procurar remediar o segredo o mais rápido possível. Por exemplo, você pode revogar o segredo e remover o segredo do histórico de commit do repositório. Os verdadeiros segredos que foram expostos devem ser revogados para evitar o acesso não autorizado. Você pode considerar primeiro girar o segredo antes de revogá-lo. Para obter mais informações, consulte "[Removendo dados confidenciais de um repositório](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". @@ -88,13 +100,21 @@ Se {% data variables.product.prodname_dotcom %} bloquear um segredo que você ac {% data variables.product.prodname_dotcom %} só exibirá um segredo detectado por vez na interface do usuário. Se um segredo específico já foi detectado no repositório e um alerta já existe, {% data variables.product.prodname_dotcom %} não bloqueará esse segredo. +{% ifversion push-protection-custom-link-orgs %} + +Os administradores da organização podem fornecer um link personalizado que será exibido quando um push estiver bloqueado. Este link personalizado pode conter recursos e conselhos específicos para sua organização. Por exemplo, o link personalizado pode apontar para um arquivo README com informações sobre o cofre secreto da organização, para quais equipes e indivíduos escalar perguntas ou a política aprovada pela organização para trabalhar com segredos e reescrever o histórico de commits. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + Você pode remover o segredo do arquivo usando a interface de usuário da web. Depois de remover o segredo, o banner no topo da página mudará e dirá que agora você pode fazeer commit das suas alterações. ![Captura de tela que mostra o commit na interface de usuário da web, permitido após correção do segredo](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) ### Ignorando a proteção de push para um segredo -{% data reusables.secret-scanning.push-protection-remove-secret %} Para obter mais informações sobre correção de segredos bloqueados, consulte "[Enviando por push um branch bloqueado pela proteção de push](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)." +{% data reusables.secret-scanning.push-protection-remove-secret %} Para obter mais informações sobre correção de segredos bloqueados, consulte "[Enviando por push um branch bloqueado por proteção de push](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)." Se você confirmar que um segredo é real e pretender corrigi-lo mais tarde, você deverá procurar remediar o segredo o mais rápido possível. Para obter mais informações, consulte "[Removendo dados confidenciais de um repositório](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)". diff --git a/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md index a71b0a2a63..da843d5f20 100644 --- a/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md +++ b/translations/pt-BR/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -26,6 +26,14 @@ O recurso de proteção de push do {% data variables.product.prodname_secret_sca {% endtip %} +{% ifversion push-protection-custom-link-orgs %} + +Os administradores da organização podem fornecer um link personalizado que será incluído na mensagem de {% data variables.product.product_name %} quando seu push estiver bloqueado. Este link personalizado pode conter recursos e conselhos específicos para sua organização e suas políticas. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + ## Resolvendo um push bloqueado na linha de comando {% data reusables.secret-scanning.push-protection-command-line-choice %} @@ -51,6 +59,6 @@ Você também pode remover o segredo se o segredo aparecer em um commit anterior {% data reusables.secret-scanning.push-protection-web-ui-choice %} -To resolve a blocked commit in the web UI, you need to remove the secret from the file, or use the **Bypass protection** dropdown to allow the secret. Para obter mais informações sobre como contornar a proteção de push da interface de usuário da web, consulte "[Protegendo pushes com a digitalização de segredo](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)". +Para resolver um commit bloqueado na interface do usuário web, você deverá remover o segredo do arquivo, ou use o menu suspenso **Proteção de Bypass** para permitir o segredo. Para obter mais informações sobre como contornar a proteção de push da interface de usuário da web, consulte "[Protegendo pushes com a digitalização de segredo](/code-security/secret-scanning/protecting-pushes-with-secret-scanning#bypassing-push-protection-for-a-secret)". Se você confirmar um segredo é real, você deverá remover o segredo do arquivo. Depois de remover o segredo, o banner no topo da página mudará e dirá que agora você pode fazeer commit das suas alterações. diff --git a/translations/pt-BR/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/translations/pt-BR/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md index 4f53f1678b..4fcbd86a09 100644 --- a/translations/pt-BR/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md +++ b/translations/pt-BR/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -12,25 +12,25 @@ shortTitle: Registro de imagem privada ## Sobre registros de imagens privadas e {% data variables.product.prodname_github_codespaces %} -Um registro é um espaço seguro para armazenar, gerenciar e buscar imagens privadas de contêineres. Você pode usar uma para armazenar uma ou mais imagens. Existem muitos exemplos de registros, como {% data variables.product.prodname_dotcom %} registro do contêiner, registro de contêiner do Azure ou DockerHub. +Um registro é um espaço seguro para armazenar, gerenciar e buscar imagens privadas de contêineres. Você pode usar uma para armazenar uma ou mais imagens. Existem muitos exemplos de registros, como {% data variables.product.prodname_container_registry %}, {% data variables.product.prodname_npm_registry %}, Azure Container Registry ou DockerHub. -O registro do contêiner de {% data variables.product.prodname_dotcom %} pode ser configurado para puxar imagens container sem precisar fornecer qualquer credencial para {% data variables.product.prodname_github_codespaces %}. Para outros registros de imagem, você deve criar segredos em {% data variables.product.prodname_dotcom %} para armazenar os detalhes de acesso, o que permitirá que {% data variables.product.prodname_codespaces %} acesse imagens armazenadas nesse registro. +{% data variables.product.prodname_ghcr_and_npm_registry %} pode ser configurado para permitir que as imagens do contêiner sejam enviadas perfeitamente para {% data variables.product.prodname_github_codespaces %} durante a criação do codespace sem ter que fornecer nenhuma credencial de autenticação. Para outros registros de imagem, você deve criar segredos em {% data variables.product.prodname_dotcom %} para armazenar os detalhes de acesso, o que permitirá que {% data variables.product.prodname_codespaces %} acesse imagens armazenadas nesse registro. -## Acessando imagens armazenadas no registro do contêiner de {% data variables.product.prodname_dotcom %} +## Acessando imagens armazenadas em {% data variables.product.prodname_ghcr_and_npm_registry %} -O registro de contêiner de {% data variables.product.prodname_dotcom %} é a maneira mais fácil de {% data variables.product.prodname_codespaces %} de consumir imagens de contêiner de desenvolvimento. +{% data variables.product.prodname_ghcr_and_npm_registry %} fornece a maneira mais fácil para {% data variables.product.prodname_codespaces %} consumir imagens de contêiner de desenvolvimento. -Para obter mais informações, consulte "[Trabalhando com o registro do contêiner](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)". +Para obter mais informações, consulte "[Trabalhando com o Registro do Contêiner](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)" e "[Trabalhando com o registro npm](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)". ### Acessar uma imagem publicada no mesmo repositório que o codespace -Se você publicar uma imagem de contêiner do {% data variables.product.prodname_dotcom %} no mesmo repositório em que o codespace está sendo lançado, você poderá de buscar automaticamente essa imagem na criação de um codespace. Você não terá que fornecer qualquer credencial adicional, a menos a opção **Herdar acesso do repositório** tenha sido desmarcada quando a imagem do contêiner foi publicada. +Se você publicar uma imagem do {% data variables.product.prodname_ghcr_or_npm_registry %} no mesmo repositório em que o codespace está sendo lançado, você poderá de buscar automaticamente essa imagem na criação de um codespace. Você não terá que fornecer qualquer credencial adicional, a menos a opção **Herdar acesso do repositório** tenha sido desmarcada quando a imagem do contêiner foi publicada. #### Herdando acesso a partir do repositório no qual uma imagem foi publicada -Por padrão, quando você publica uma imagem de contêiner no registro do contêiner de {% data variables.product.prodname_dotcom %}, a imagem herda a configuração de acesso do repositório no qual a imagem foi publicada. Por exemplo, se o repositório for público, a imagem também é pública. Se o repositório for privado, a imagem também é privada, mas pode ser acessada a partir do repositório. +Por padrão, ao publicar uma imagem de contêiner para {% data variables.product.prodname_ghcr_or_npm_registry %}, a imagem herda a configuração de acesso do repositório do qual a imagem foi publicada. Por exemplo, se o repositório for público, a imagem também é pública. Se o repositório for privado, a imagem também é privada, mas pode ser acessada a partir do repositório. -Este comportamento é controlado pela opção de **Herdar acesso do repositório**. O **Acesso herdado do repo** é selecionado por padrão ao publicar {% data variables.product.prodname_actions %}, mas não ao publicar diretamente no registro do contêiner de {% data variables.product.prodname_dotcom %} usando um Token de Acesso Pessoal (PAT). +Este comportamento é controlado pela opção de **Herdar acesso do repositório**. O **Acesso herdado do repo** é selecionado por padrão ao publicar {% data variables.product.prodname_actions %}, mas não ao publicar diretamente no {% data variables.product.prodname_ghcr_or_npm_registry %} usando um Token de Acesso Pessoal (PAT). Se a opção **Herdar acesso do repositório** não foi selecionada quando a imagem foi publicada, você pode adicionar o repositório manualmente aos controles de acesso da imagem de contêiner. Para obter mais informações, consulte "[Configurar o controle de acesso e visibilidade de um pacote](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#inheriting-access-for-a-container-image-from-a-repository)". @@ -46,13 +46,13 @@ Se você deseja permitir que um subconjunto de repositórios de uma organizaçã ### Publicando uma imagem de contêiner a partir de um codespace -O acesso seguro a partir de um codespace para o registro de um contêiner de {% data variables.product.prodname_dotcom %} é limitado à extração de imagens de contêineres. Se você deseja publicar a imagem de um contêiner de dentro de um codespace, você deve usar um token de acesso pessoal (PAT) com o escopo `write:packages`. +O acesso seguro a partir de um codespace para o {% data variables.product.prodname_ghcr_or_npm_registry %} é limitado à extração de imagens de contêineres. Se você deseja publicar a imagem de um contêiner de dentro de um codespace, você deve usar um token de acesso pessoal (PAT) com o escopo `write:packages`. -Recomendamos publicar imagens via {% data variables.product.prodname_actions %}. Para obter mais informações, consulte "[Publicar imagens Docker](/actions/publishing-packages/publishing-docker-images)". +Recomendamos publicar imagens via {% data variables.product.prodname_actions %}. Para obter mais informações, consulte "[Publicando imagens do Docker](/actions/publishing-packages/publishing-docker-images)" e "[Publicando pacotes do Node.js](/actions/publishing-packages/publishing-nodejs-packages)". ## Acessando as imagens armazenadas em outros registros de contêiner -Se você estiver acessando um contêiner a partir de um registro que não é registro de contêiner de {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_codespaces %} irá verificar a presença de três segredos, que define o nome de servidor, nome de usuário, e token de acesso pessoal (PAT) para um registro de contêiner. Se estes segredos forem encontrados, {% data variables.product.prodname_github_codespaces %} disponibilizará o registro dentro do seu codespace. +Se você estiver acessando uma imagem de contêiner de um registro que não é {% data variables.product.prodname_ghcr_or_npm_registry %}, {% data variables.product.prodname_codespaces %} verifica a presença de três segredos, que define o nome de servidor, nome de usuário e token de acesso pessoal (PAT) para um registro de contêiner. Se estes segredos forem encontrados, {% data variables.product.prodname_github_codespaces %} disponibilizará o registro dentro do seu codespace. - `<*>_CONTAINER_REGISTRY_SERVER` - `<*>_CONTAINER_REGISTRY_USER` diff --git a/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index c04158c396..3272984eab 100644 --- a/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/pt-BR/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -88,14 +88,12 @@ Você pode adicionar mais script, preferências e arquivos de configuração ao Se o seu código não consegue pegar as configurações nos dotfiles, consulte "[Solução de problemas para {% data variables.product.prodname_codespaces %}](/codespaces/troubleshooting/troubleshooting-dotfiles-for-codespaces)". -## Outras configurações disponíveis - Você também pode personalizar {% data variables.product.prodname_codespaces %} usando [as configurações adicionais de {% data variables.product.prodname_codespaces %}de](https://github.com/settings/codespaces): - Para habilitar a verificação do GPG, consulte "[Gerenciar a verificação de GPG para {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)." - Para definir seu editor, consulte "[Definindo seu editor padrão para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-editor-for-github-codespaces)" -- To set how long a codespace can remain unused before it is automatically stopped, see "[Setting your timeout period for GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)." -- To set the period for which your unused codespaces are retained, see "[Configuring automatic deletion of your codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)." +- Para definir quanto tempo um código não pode ser utilizado antes de ser interrompido automaticamente, consulte "[Definindo seu período de tempo limite para GitHub Codespaces](/codespaces/customizing-your-codespace/setting-your-timeout-period-for-github-codespaces)." +- Para definir o período para o qual seus códigos não utilizados são mantidos, consulte "[Configurando exclusão automática de seus codespaces](/codespaces/customizing-your-codespace/configuring-automatic-deletion-of-your-codespaces)". - Para definir sua região padrão, consulte "[Definindo sua região padrão para {% data variables.product.prodname_github_codespaces %}](/codespaces/customizing-your-codespace/setting-your-default-region-for-github-codespaces)." ## Leia mais diff --git a/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md index ab0c7b251b..1d5a7d0dcb 100644 --- a/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/translations/pt-BR/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -46,23 +46,20 @@ Se você quiser usar hooks do Git para o seu código, você deverá configurar h Quando você tem acesso a {% data variables.product.prodname_github_codespaces %}, você verá uma aba "Codespace" dentro do menu suspenso ** Código de{% octicon "code" aria-label="The code icon" %} ** ao visualizar um repositório. -Você terá acesso a codespaces nas seguintes condições: +Você terá acesso ao {% data variables.product.prodname_github_codespaces %} nas seguintes condições: -* Você é um integrante de uma organização que habilitou {% data variables.product.prodname_codespaces %} e definiu um limite de gastos. -* Um proprietário da organização concedeu a você acesso a {% data variables.product.prodname_codespaces %}. -* O repositório pertence à organização que habilitou {% data variables.product.prodname_codespaces %}. +Ou todos estes são verdadeiros: +* Você é integrante, ou colaborador externo, de uma organização que permitiu {% data variables.product.prodname_codespaces %} e definiu um limite de gastos. +* O proprietário da organização permitiu que você criasse codespaces às custas da organização. +* O repositório para o qual você deseja criar um codespace pertence a esta organização. -{% note %} - -**Observação:** As pessoas que já aderiram ao beta com sua conta pessoal do {% data variables.product.prodname_dotcom %} não perderão acesso a {% data variables.product.prodname_codespaces %}. No entanto, {% data variables.product.prodname_codespaces %} para as pessoas, continuará sendo beta. - -{% endnote %} - -Os proprietários da organização podem permitir que todos os integrantes da organização criem codespaces, limitem a criação de códigos aos integrantes selecionados da organização ou desabilitem a criação de codespace. Para obter mais informações sobre como gerenciar o acesso aos codespaces dentro da sua organização, consulte "[Habilitar codespace para usuários da sua organização](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)". +Ou ambos são verdadeiros: +* Você está participando do beta de {% data variables.product.prodname_codespaces %} para usuários individuais. +* Ou você possui o repositório para o qual deseja criar um codespace ou ele pertence a uma organização da qual você é integrante ou colaborador externo. Antes de {% data variables.product.prodname_codespaces %} pode ser usado em uma organização, um proprietário ou gerente de cobrança deverá ter um limite de gastos. Para obter mais informações, consulte "[Sobre limites de gastos para codespaces](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)". -Se você deseja criar um codespace para um repositório pertencente à sua conta pessoal ou outro usuário e você tem permissão para criar repositórios em uma organização que habilitou {% data variables.product.prodname_github_codespaces %}, você poderá criar uma bifurcação de repositórios pertencentes ao usuário na organização e, em seguida, criar um codespace para a bifurcação. +Os proprietários da organização podem especificar quem pode criar e usar codespaces às expensas da organização. Os proprietários da organização também podem impedir que o uso de qualquer código seja cobrado da organização. Para obter mais informações, consulte "[Habilitando {% data variables.product.prodname_github_codespaces %} para a sua organização](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)". ## Criar um codespace @@ -115,7 +112,7 @@ Se você deseja criar um codespace para um repositório pertencente à sua conta {% endnote %} - 1. Clique **Iniciar sessão**. + 1. Clique em **Iniciar sessão**. {% endwebui %} @@ -129,7 +126,7 @@ Se você deseja criar um codespace para um repositório pertencente à sua conta {% data reusables.cli.cli-learn-more %} -Para criar um novo codespace, use o subcomando `gh create`. +Para criar um novo codespace, use o subcomando `gh codespace create`. ```shell gh codespace create diff --git a/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md b/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md index 211035cabb..578598e01a 100644 --- a/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md +++ b/translations/pt-BR/content/codespaces/developing-in-codespaces/renaming-a-codespace.md @@ -1,6 +1,6 @@ --- -title: Renaming a codespace -intro: 'You can use the {% data variables.product.prodname_cli %} to change the codespace display name to one of your choice.' +title: Renomeando um codespace +intro: 'Você pode usar o {% data variables.product.prodname_cli %} para alterar o nome de exibição do codespace para um de sua escolha.' product: '{% data reusables.gated-features.codespaces %}' versions: fpt: '*' @@ -10,45 +10,47 @@ topics: - Codespaces - Fundamentals - Developer -shortTitle: Rename a codespace +shortTitle: Renomear um codespace --- -## About renaming a codespace +## Sobre renomear um codespace -Each codespace is assigned an auto-generated display name. If you have multiple codespaces, the display name helps you to differentiate between codespaces. For example: `literate space parakeet`. You can change the display name for your codespace. +A cada codespace é atribuído um nome de exibição gerado automaticamente. Se você tiver vários codespaces, o nome de exibição ajudará você a diferenciá-los. Por exemplo: `literate space parakeet`. Você pode alterar o nome de exibição do seu codespace. -To find the display name of a codespace: +Para encontrar o nome de exibição de um codespace: -- On {% data variables.product.product_name %}, view your list of codespaces at https://github.com/codespaces. +- Em {% data variables.product.product_name %}, consulte sua lista de codespace em https://github.com/codespaces. - ![Screenshot of the list of codespaces in GitHub](/assets/images/help/codespaces/codespaces-list-display-name.png) + ![Captura de tela da lista de codespaces no GitHub](/assets/images/help/codespaces/codespaces-list-display-name.png) -- In the {% data variables.product.prodname_vscode %} desktop application, or the {% data variables.product.prodname_vscode_shortname %} web client, click the Remote Explorer. The display name is shown below the repository name. For example: `symmetrical space telegram` in the screenshot below. +- No aplicativo de área de trabalho {% data variables.product.prodname_vscode %}, ou no cliente web {% data variables.product.prodname_vscode_shortname %}, clique no Explorador Remoto. O nome de exibição é mostrado abaixo do nome do repositório. Por exemplo: `symmetrical space telegram` na captura de tela abaixo. - ![Screenshot of the Remote Explorer in VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) + ![Captura de tela do Explorador Remoto no VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) -- In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. -### Permanent codespace names +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} +- Em uma janela do terminal em sua máquina local, use o comando {% data variables.product.prodname_cli %}: `gh codespace list`. -In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. Por exemplo: `octocat-myrepo-gmc7`. You can't change this name. +### Nomes de codespaces permanente -To find the permanent name of a codespace: +Além do nome de exibição, ao criar um codespace, um nome permanente também é atribuído ao codespace. O nome é uma combinação do seu {% data variables.product.company_short %}, do nome do repositório e de alguns caracteres aleatórios. Por exemplo: `octocat-myrepo-gmc7`. Você não pode mudar este nome. -* On {% data variables.product.product_name %}, the permanent name is shown in a pop-up when you hover over the **Open in browser** option on https://github.com/codespaces. +Para encontrar o nome permanente de um codespace: - ![Screenshot of the codespace name shown on hover over](/assets/images/help/codespaces/find-codespace-name-github.png) +* Em {% data variables.product.product_name %}, o nome permanente é mostrado em uma janela pop-up quando você passa o mouse sobre a opção **Abrir no navegador** em https://github.com/codespaces. -* In a codespace, use this command in the terminal: `echo $CODESPACE_NAME`. -* In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. + ![Captura de tela do nome do código exibida ao passar o mouse](/assets/images/help/codespaces/find-codespace-name-github.png) -## Renaming a codespace +* Em um código, use este comando no terminal: `echo $CODESPACE_NAME`. +* Em uma janela do terminal em sua máquina local, use o comando {% data variables.product.prodname_cli %}: `gh codespace list`. -Changing the display name of a codespace can be useful if you have multiple codespaces that you will be using for an extended period. An appropriate name helps you identify a codespace that you use for a particular purpose. You can change the display name for your codespace by using the {% data variables.product.prodname_cli %}. +## Renomeando um codespace -To rename a codespace, use the `gh codespace edit` subcommand: +Alterar o nome de exibição de um codespace pode ser útil se você tiver vários codespaces que você irá usar por um período prolongado. Um nome apropriado ajuda você a identificar um codespace que você usa para uma finalidade específica. Você pode alterar o nome de exibição do seu codespace usando o {% data variables.product.prodname_cli %}. + +Para renomear um codespace, use o subcomando`gh codespace edit`: ```shell gh codespace edit -c permanent name of the codespace -d new display name ``` -In this example, replace `permanent name of the codespace` with the permanent name of the codespace. Replace `new display name` with the desired display name. +Neste exemplo, substitua `permanent name of the codespace` pelo nome permanente do codespace. Substitua `new display name` pelo nome de exibição desejado. diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md index 0e4e9da920..6f71eaca91 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Habilitando o GitHub Codespaces para sua organização -shortTitle: Habilitar codespaces -intro: 'Você pode controlar quais usuários da sua organização podem usar {% data variables.product.prodname_github_codespaces %}.' +shortTitle: 'Habilite {% data variables.product.prodname_codespaces %}' +intro: 'Você pode controlar quais usuários da sua organização podem usar o {% data variables.product.prodname_github_codespaces %} às custas da organização.' product: '{% data reusables.gated-features.codespaces %}' -permissions: 'To manage user permissions for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +permissions: 'To alter an organization''s billing settings, you must be an organization owner.' redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization @@ -13,25 +13,23 @@ versions: type: how_to topics: - Codespaces - - Permissions + - Billing - Administrator --- - ## Sobre habilitar {% data variables.product.prodname_github_codespaces %} para a sua organização -Os proprietários da organização podem controlar quais usuários da sua organização podem criar e usar cdespaces. +Os proprietários da organização podem controlar quais usuários da sua organização podem criar e usar códigos às custas da organização. -Para usar codespaces na sua organização, você deve fazer o seguinte: +Somente as pessoas que podem clonar um repositório podem criar um codespace para esse repositório. Para permitir que as pessoas criem codespaces para repositórios pertencentes a sua organização, você deve: + +- Certificar-se de que os usuários tenham pelo menos acesso de gravação aos repositórios onde querem usar um codespace. Para obter mais informações, consulte "[Gerenciar equipes e pessoas com acesso ao seu repositório](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository). " +- Certifique-se de que a sua organização não tem um endereço IP permitir a lista habilitada. Para obter mais informações, consulte "[Gerenciar endereços IP permitidos para sua organização](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" na documentação de {% data variables.product.prodname_ghe_cloud %}.{% else %}"{% endif %} + +Para permitir que as pessoas criem codespaces para os quais sua organização será cobrada, você deve: -- Certifique-se de que os usuários tenham [pelo menos acesso de gravação](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization) nos repositórios onde desejam usar um codespace. -- [Habilitar {% data variables.product.prodname_github_codespaces %} para os usuários da sua organização](#enable-codespaces-for-users-in-your-organization). Você pode escolher permitir {% data variables.product.prodname_codespaces %} para usuários selecionados ou apenas para usuários específicos. - [Definir um limite de gastos](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) -- Certifique-se de que a sua organização não tem um endereço IP permitir a lista habilitada. Para obter mais informações, consulte "[Gerenciar endereços IP permitidos para sua organização](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list){% ifversion fpt %}" na documentação de {% data variables.product.prodname_ghe_cloud %}.{% else %}"{% endif %} - -Por padrão, um codespace só pode acessar o repositório no qual ele foi criado. Se você quiser que os codespaces na sua organização possam acessar outros repositórios da organização que o criador do codespace possa acessar, consulte "[Gerenciar acesso e segurança para {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". - -## Habilitar {% data variables.product.prodname_codespaces %} para os usuários na sua organização +- [Escolher quem pode criar codespaces que são cobrados da sua organização](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) {% ifversion fpt %} {% note %} @@ -40,31 +38,44 @@ Por padrão, um codespace só pode acessar o repositório no qual ele foi criado {% endnote %} {% endif %} + +Por padrão, um codespace só pode acessar o repositório no qual ele foi criado. Se você quiser que os codespaces na sua organização possam acessar outros repositórios de organização que o criador do codespace possa acessar, consulte "[Gerenciar acesso do repositório aos codespaces da sua organização](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)". + +## Escolher quem pode criar codespaces que são cobrados da sua organização + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Em "Permissões de usuário", selecione uma das seguintes opções: +1. Em "cobrança", selecione uma das seguintes opções: - * **Usuários selecionados** para selecionar integrantes específicos da organização para usar {% data variables.product.prodname_codespaces %}. - * **Permitir para todos os integrantes** para permitir todos os integrantes da organização usem {% data variables.product.prodname_codespaces %}. - * **Permitir para todos os integrantes e colaboradores externos** para permitir que todos os integrantes da sua organização, bem como os colaboradores externos, usem {% data variables.product.prodname_codespaces %}. + * **Desabilitado** - Sua organização não será cobrada pelo uso de codespaces. {% data variables.product.prodname_codespaces %} criado para os repositórios da organização que serão cobrados pelos usuários que os criarem. + * **Integrantes selecionados** - {% data variables.product.prodname_codespaces %} criado para os repositórios da sua organização por integrantes selecionados e será cobradoo da organização. + * **Todos os integrantes** - {% data variables.product.prodname_codespaces %} criados para os repositórios da sua organização por integrantes da sua organização e será cobrado da organização. + * **Todos os integrantes e colaboradores externos** - {% data variables.product.prodname_codespaces %} criado para os repositórios da organização por integrantes da organização e colaboradores externos e será cobrado da organização. - ![Botões de opção para "Permissões do usuário"](/assets/images/help/codespaces/org-user-permission-settings-outside-collaborators.png) + ![Botão de opção para "cobrança"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) {% note %} - **Observação:** Ao selecionar **Permitir para todos os integrantes e colaboradores externos**, todos os colaboradores externos que foram adicionados aos repositórios específicos poderão criar e usar {% data variables.product.prodname_codespaces %}. Sua organização será cobrada pelo uso de todos os colaboradores externos. Para obter mais informações sobre como gerenciar colaboradores externos, consulte "[Sobre colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". + **Observação:** Ao selecionar **Todos os integrantes e colaboradores externos**, todos os colaboradores externos que foram adicionados em repositórios específicos podem criar e usar {% data variables.product.prodname_codespaces %} para esses repositórios e sua organização será cobrada por esse uso. Para obter mais informações sobre como gerenciar colaboradores externos, consulte "[Sobre colaboradores externos](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)". {% endnote %} 1. Clique em **Salvar**. +1. Se você selecionou **integrantes selecionados**, uma caixa de entrada será exibida para você inserir os nomes de usuários que deseja selecionar. + + ![Caixa de entrada para selecionar usuários](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) ## Desabilitando {% data variables.product.prodname_codespaces %} para sua organização +É possível impedir a criação e o uso de codespaces faturáveis na sua organização. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Em "Permissões de usuário", selecione **Desabilitado**. +1. Em "cobrança", selecione **Desabilitado**. ## Definindo um limite de gastos diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index f39c2674aa..a2f4f71a74 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -35,11 +35,15 @@ Você pode definir um limite de uso para os codespaces na sua organização ou r ## Desabilitando ou limitando {% data variables.product.prodname_codespaces %} -É possível desabilitar o uso de {% data variables.product.prodname_codespaces %} na sua organização ou repositório. Para obter mais informações, consulte "[Gerenciar acesso ao repositório para os codespaces da sua organização](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)". +Você pode desabilitar todo o uso de {% data variables.product.prodname_github_codespaces %} que seria cobrado da sua organização. Como alternativa, você pode especificar quais integrantes ou colaboradores da organização podem usar o {% data variables.product.prodname_codespaces %} às custas da sua organização. Para obter mais informações, consulte "[Habilitando {% data variables.product.prodname_github_codespaces %} para a sua organização](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)". -Você também pode limitar os usuários individuais que podem usar {% data variables.product.prodname_codespaces %}. Para obter mais informações, consulte "[Gerenciando permissões de usuário para sua organização](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)". +{% data reusables.codespaces.codespaces-disabling-org-billing %} -É possível limitar a escolha dos tipos de máquina que estão disponíveis para repositórios pertencentes à sua organização. Isso permite evitar que as pessoas usem máquinas com recursos excessivos para seus codespaces. Para obter mais informações, consulte "[Restringindo o acesso aos tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." +Você pode configurar quais repositórios podem ser acessados a partir de codespaces criados para um repositório específico. Para obter mais informações, consulte "[Gerenciar o acesso a outros repositórios dentro de seu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". + +Você pode limitar a escolha de tipos de máquinas que estão disponíveis para codespaces criados a partir de repositórios pertencentes à organização. Isso permite que você evite que as pessoas usem máquinas com recursos excessivos em seus codespaces e incorram em custos desnecessários. Para obter mais informações, consulte "[Restringindo o acesso aos tipos de máquina](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." + +Você também pode restringir quanto tempo um codespace pode não ser usado antes de ser automaticamente excluído. Isso pode ajudar a reduzir os custos de armazenamento para {% data variables.product.prodname_codespaces %}. Para obter mais informações, consulte "[Restringindo o período de retenção para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". ## Excluindo codespaces não utilizados @@ -47,6 +51,6 @@ Seus usuários podem excluir seus codespaces em https://github.com/codespaces e {% note %} -**Observação:** Somente a pessoa que criou um codespace pode excluí-lo. Atualmente, não há forma de os proprietários da organização excluírem os codespaces criados dentro de sua organização. +**Observação:** Os codespaces são excluídos automaticamente depois de terem sido interrompidos e permanecerem inativos por um número definido de dias. Para obter mais informações, consulte "[Restringindo o período de retenção para codespaces](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)". Um codespace só pode ser excluído manualmente pela pessoa que o criou. {% endnote %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md index 7f2c5d3ce1..e74fe7f955 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -20,7 +20,7 @@ redirect_from: {% warning %} -**Observação de depreciação**: A configuração de acesso e segurança descrita abaixo está obsoleta e é documentada aqui apenas por referência. Para habilitar o acesso expandido a outros repositórios, adicione as permissões solicitadas à definição do contêiner de desenvolvimento. Para obter mais informações, consulte "[Gerenciar o acesso a outros repositórios dentro de seu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". +**Observação de depreciação**: A configuração de acesso e segurança descrita abaixo está obsoleta e é documentada aqui apenas por referência. Para habilitar o acesso expandido a outros repositórios, adicione as permissões solicitadas ao seu arquivo de configuração `devcontainer.json`. Para obter mais informações, consulte "[Gerenciar o acesso a outros repositórios dentro de seu codespace](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)". {% endwarning %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 50096e843d..fafc1d5d6e 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -43,6 +43,8 @@ Por exemplo, você poderia criar uma política para toda a organização que res Se você adicionar uma política para toda a organização, você deverá configurá-la para a maior escolha de tipos de máquina que estarão disponíveis para qualquer repositório na sua organização. Em seguida, você pode adicionar políticas específicas ao repositório para restringir ainda mais a escolha. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionar uma política para limitar os tipos de máquina disponíveis {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index e23550b26d..1dd72e8373 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -40,6 +40,8 @@ Ao criar uma política, você define se ela se aplica a todos os repositórios d Se você adicionar uma política para toda a organização com uma restrição de tempo limite, você deverá definir o tempo limite como o período de tempo mais longo. Em seguida, é possível adicionar políticas separadas que definam o tempo limite máximo para um período mais curto para repositórios específicos na sua organização. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionando uma política para definir um período máximo de tempo ocioso {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index 79825f9e29..278aac3a6b 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -26,6 +26,8 @@ Ao criar uma política, você define se ela se aplica a todos os repositórios d Se você adicionar uma política para toda a organização com uma restrição de retenção, você deverá definir o período de retenção para o período mais longo aceitável. Em seguida, é possível adicionar políticas separadas que definam o período de retenção máximo para um período mais curto para repositórios específicos na sua organização. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionando uma política para definir um período máximo de retenção de codespace {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index 48766c04d5..357d798819 100644 --- a/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/translations/pt-BR/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -36,6 +36,8 @@ Por exemplo, você poderia criar uma política de toda a organização que restr Se você adicionar uma política para toda a organização, você deverá defini-la como a opção de visibilidade mais branda que estará disponível para qualquer repositório na organização. Em seguida, você pode adicionar políticas específicas ao repositório para restringir ainda mais a escolha. +{% data reusables.codespaces.codespaces-org-policies-note %} + ## Adicionando uma política para limitar as opções de visibilidade da porta {% data reusables.profile.access_org %} diff --git a/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md index 55fa9830f3..b238e95d4b 100644 --- a/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md +++ b/translations/pt-BR/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -31,6 +31,7 @@ O nome do código também está incluído em muitos dos arquivos de registro. Po Todos os codespaces também possuem um ID (identificador). Ele não é exibido por padrão em {% data variables.product.prodname_vscode %}. Portanto, é possível que você precise atualizar as configurações para a extensão {% data variables.product.prodname_github_codespaces %} antes de acessar o ID. 1. Em {% data variables.product.prodname_vscode %}, navegador ou área de trabalho, na barra de atividades à esquerda, clique em **Explorador remoto** para mostrar as informações para o codespace. -2. Se a barra lateral incluir uma seção "Desempenho do codespace", passe o mouse sobre o "ID do codespace" e clique no ícone da área de transferência para copiar o ID. -3. Se a informação não for exibida, clique em {% octicon "gear" aria-label="The gear icon" %} no canto inferior esquerdo da barra de atividade, para exibir a aba "Configurações". -4. Expanda **Extensões** e clique em **{% data variables.product.prodname_github_codespaces %}** para exibir as configurações da extensão. Em seguida, habilite o **Exibir o explorador de desempenho** para exibir a seção "Codespace" na barra lateral. ![O ID do codespace e configurações necessárias para exibir informações de desempenho](/assets/images/help/codespaces/find-codespace-id.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. Se a barra lateral incluir uma seção "Desempenho do codespace", passe o mouse sobre o "ID do codespace" e clique no ícone da área de transferência para copiar o ID. +1. Se a informação não for exibida, clique em {% octicon "gear" aria-label="The gear icon" %} no canto inferior esquerdo da barra de atividade, para exibir a aba "Configurações". +1. Expanda **Extensões** e clique em **{% data variables.product.prodname_github_codespaces %}** para exibir as configurações da extensão. Em seguida, habilite o **Exibir o explorador de desempenho** para exibir a seção "Codespace" na barra lateral. ![O ID do codespace e configurações necessárias para exibir informações de desempenho](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md b/translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md index 391bbe8d0d..77116c54cc 100644 --- a/translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md +++ b/translations/pt-BR/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/common-validation-errors-when-creating-issue-forms.md @@ -629,11 +629,11 @@ body: - Maybe ``` -## Body cannot be empty +## O texto não pode estar vazio -The template body `key:value` pair can not be empty. For more information about which top-level keys are required, see "[Syntax for issue forms](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#top-level-syntax)." +O par do texto do modelo `key:value` não pode estar vazio. Para obter mais informações sobre quais chaves de nível superior são obrigatórios, consulte "[Sintaxe para os formulários do problema](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#top-level-syntax). " -The error can be fixed by adding the `body:` section. +O erro pode ser corrigido adicionando a seção `body:`. ### Exemplo @@ -647,7 +647,7 @@ body: label: "What's wrong?" ``` -In this example, the error can be fixed by deleting the `---` (document separator) between the headers and the `body` section. +Neste exemplo, o erro pode ser corrigido excluindo o `---` (separador do documento) entre os cabeçalhos e a seção `texto`. ```yaml name: Support Request diff --git a/translations/pt-BR/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/translations/pt-BR/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index ed2425e1fa..d24d81783f 100644 --- a/translations/pt-BR/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/translations/pt-BR/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -23,6 +23,8 @@ Quando uma organização tem uma lista de autorizações, aplicativos de terceir ## Adicionando uma lista de endereços IP permitidos para {% data variables.product.prodname_github_app %} +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} {% data reusables.user-settings.github_apps %} diff --git a/translations/pt-BR/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/translations/pt-BR/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md index f476d28b5a..7a9ef814bc 100644 --- a/translations/pt-BR/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md +++ b/translations/pt-BR/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -47,7 +47,7 @@ Os limites de taxa para {% data variables.product.prodname_github_apps %} e {% d {% ifversion fpt or ghec %} -{% data variables.product.prodname_github_apps %} que estão instalados em uma organização ou um repositório dentro de uma empresa no {% data variables.product.product_location %} estão sujeitos a um limite de 15.000 solicitações por hora. +{% data variables.product.prodname_github_apps %} that are installed on an organization within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour per organization that has installed the app. {% endif %} diff --git a/translations/pt-BR/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md b/translations/pt-BR/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md index c205b04943..f89b49896e 100644 --- a/translations/pt-BR/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md +++ b/translations/pt-BR/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -39,49 +39,49 @@ X-Accepted-OAuth-Scopes: user ## Escopos disponíveis -| Nome | Descrição | -| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |{% ifversion not ghae %} +| Nome | Descrição | +| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |{% ifversion not ghae %} | **`(sem escopo)`** | Concede acesso somente leitura a informações públicas (incluindo informações do perfil do usuário, informações do repositório e gists){% endif %}{% ifversion ghes or ghae %} | **`site_admin`** | Concede acesso de administrador aos pontos de extremidades da API de administração [{% data variables.product.prodname_ghe_server %}](/rest/reference/enterprise-admin).{% endif %} -| **`repo`** | Concede acesso total a repositórios públicos{% ifversion ghec or ghes or ghae %}, internos,{% endif %} e privados, incluindo acesso de leitura e gravação ao código, status de commit, convites de repositório, colaboradores, status de implantação e webhooks do repositório. **Observação**: Além dos recursos relacionados ao repositório, o escopo `repositório` também permite acesso para gerenciar recursos pertencentes à organização, incluindo projetos, convites, associações da equipe e webhooks. Este âmbito também concede a capacidade de gerenciar projectos pertencentes a usuários. | -|  `repo:status` | Concede acesso de leitura/gravaçãopara fazer commit de status em {% ifversion fpt %}repositórios públicos, privados e internos{% elsif ghec or ghes %} privados e internos{% elsif ghae %}privados e internos{% endif %}. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso a status de compromisso de repositórios privados *sem* conceder acesso ao código. | +| **`repo`** | Concede acesso total a repositórios públicos{% ifversion ghec or ghes or ghae %}, internos,{% endif %} e privados, incluindo acesso de leitura e gravação ao código, status de commit, convites de repositório, colaboradores, status de implantação e webhooks do repositório. **Observação**: Além dos recursos relacionados ao repositório, o escopo `repositório` também permite acesso para gerenciar recursos pertencentes à organização, incluindo projetos, convites, associações da equipe e webhooks. Este âmbito também concede a capacidade de gerenciar projectos pertencentes a usuários. | +|  `repo:status` | Concede acesso de leitura/gravaçãopara fazer commit de status em {% ifversion fpt %}repositórios públicos, privados e internos{% elsif ghec or ghes %} privados e internos{% elsif ghae %}privados e internos{% endif %}. Esse escopo só é necessário para conceder a outros usuários ou serviços acesso a status de compromisso de repositórios privados *sem* conceder acesso ao código. | |  `repo_deployment` | Concede acesso aos [status da implementação](/rest/reference/repos#deployments) para {% ifversion not ghae %}público{% else %}interno{% endif %} e repositórios privados. Este escopo só é necessário para conceder a outros usuários ou serviços acesso aos status de implantação, *sem* conceder acesso ao código.{% ifversion not ghae %} |  `public_repo` | Limita o acesso a repositórios públicos. Isso inclui acesso de leitura/gravação em código, status de commit, projetos de repositório, colaboradores e status de implantação de repositórios e organizações públicos. Também é necessário para repositórios públicos marcados como favoritos.{% endif %} |  `repo:invite` | Concede habilidades de aceitar/recusar convites para colaborar em um repositório. Este escopo só é necessário para conceder a outros usuários ou serviços acesso a convites *sem* conceder acesso ao código.{% ifversion fpt or ghes or ghec %} |  `security_events` | Concede:
acesso de leitura e gravação aos eventos de segurança na [API de {% data variables.product.prodname_code_scanning %}](/rest/reference/code-scanning) {%- ifversion ghec %}
acesso de leitura e gravação aos eventos de segurança na [API de {% data variables.product.prodname_secret_scanning %}](/rest/reference/secret-scanning){%- endif %}
Esse escopo é somente necessário para conceder aos outros usuários ou serviços acesso aos eventos de segurança *sem* conceder acesso ao código.{% endif %} -| **`admin:repo_hook`** | Concede acesso de leitura, gravação, fixação e exclusão aos hooks do repositório em {% ifversion fpt %}repositórios públicos, privados ou internos{% elsif ghec or ghes %}públicos, ou internos{% elsif ghae %}privados ou internos{% endif %}. O escopos do `repo` {% ifversion fpt or ghec or ghes %}e `public_repo` concedem{% else %}o escopo concede{% endif %} o acesso total aos repositórios, incluindo hooks de repositório. Use o escopo `admin:repo_hook` para limitar o acesso apenas a hooks de repositório. | -|  `write:repo_hook` | Concede acesso de leitura, gravação e fixação aos hooks em {% ifversion fpt %}repositórios públicos ou privados{% elsif ghec or ghes %}público, privado ou interno{% elsif ghae %}privado ou interno{% endif %}. | -|  `read:repo_hook` | Concede acesso de leitura e fixação aos hooks em {% ifversion fpt %}repositórios públicos ou privados{% elsif ghec or ghes %}público, privado ou interno{% elsif ghae %}privado ou interno{% endif %}. | -| **`admin:org`** | Gerencia totalmente a organização e suas equipes, projetos e associações. | -|  `write:org` | Acesso de leitura e gravação à associação da organização, aos projetos da organização e à associação da equipe. | -|  `read:org` | Acesso somente leitura à associação da organização, aos projetos da organização e à associação da equipe. | -| **`admin:public_key`** | Gerenciar totalmente as chaves públicas. | -|  `write:public_key` | Criar, listar e visualizar informações das chaves públicas. | -|  `read:public_key` | Listar e visualizar informações para as chaves públicas. | -| **`admin:org_hook`** | Concede acesso de leitura, gravação, ping e e exclusão de hooks da organização. **Observação:** Os tokens do OAuth só serão capazes de realizar essas ações nos hooks da organização que foram criados pelo aplicativo OAuth. Os tokens de acesso pessoal só poderão realizar essas ações nos hooks da organização criados por um usuário. | -| **`gist`** | Concede acesso de gravação aos gists. | -| **`notificações`** | Condece:
* acesso de gravação a notificações de um usuário
* acesso para marcar como leitura nos threads
* acesso para inspecionar e não inspecionar um repositório e
* acesso de leitura, gravação e exclusão às assinaturas dos threads. | -| **`usuário`** | Concede acesso de leitura/gravação apenas às informações do perfil. Observe que este escopo inclui `user:email` e `user:follow`. | -|  `read:user` | Concede acesso para ler as informações do perfil de um usuário. | -|  `usuário:email` | Concede acesso de leitura aos endereços de e-mail de um usuário. | +| **`admin:repo_hook`** | Concede acesso de leitura, gravação, fixação e exclusão aos hooks do repositório em {% ifversion fpt %}repositórios públicos, privados ou internos{% elsif ghec or ghes %}públicos, ou internos{% elsif ghae %}privados ou internos{% endif %}. O escopos do `repo` {% ifversion fpt or ghec or ghes %}e `public_repo` concedem{% else %}o escopo concede{% endif %} o acesso total aos repositórios, incluindo hooks de repositório. Use o escopo `admin:repo_hook` para limitar o acesso apenas a hooks de repositório. | +|  `write:repo_hook` | Concede acesso de leitura, gravação e fixação aos hooks em {% ifversion fpt %}repositórios públicos ou privados{% elsif ghec or ghes %}público, privado ou interno{% elsif ghae %}privado ou interno{% endif %}. | +|  `read:repo_hook` | Concede acesso de leitura e fixação aos hooks em {% ifversion fpt %}repositórios públicos ou privados{% elsif ghec or ghes %}público, privado ou interno{% elsif ghae %}privado ou interno{% endif %}. | +| **`admin:org`** | Gerencia totalmente a organização e suas equipes, projetos e associações. | +|  `write:org` | Acesso de leitura e gravação à associação da organização, aos projetos da organização e à associação da equipe. | +|  `read:org` | Acesso somente leitura à associação da organização, aos projetos da organização e à associação da equipe. | +| **`admin:public_key`** | Gerenciar totalmente as chaves públicas. | +|  `write:public_key` | Criar, listar e visualizar informações das chaves públicas. | +|  `read:public_key` | Listar e visualizar informações para as chaves públicas. | +| **`admin:org_hook`** | Concede acesso de leitura, gravação, ping e e exclusão de hooks da organização. **Observação:** Os tokens do OAuth só serão capazes de realizar essas ações nos hooks da organização que foram criados pelo aplicativo OAuth. Os tokens de acesso pessoal só poderão realizar essas ações nos hooks da organização criados por um usuário. | +| **`gist`** | Concede acesso de gravação aos gists. | +| **`notificações`** | Condece:
* acesso de gravação a notificações de um usuário
* acesso para marcar como leitura nos threads
* acesso para inspecionar e não inspecionar um repositório e
* acesso de leitura, gravação e exclusão às assinaturas dos threads. | +| **`usuário`** | Concede acesso de leitura/gravação apenas às informações do perfil. Observe que este escopo inclui `user:email` e `user:follow`. | +|  `read:user` | Concede acesso para ler as informações do perfil de um usuário. | +|  `usuário:email` | Concede acesso de leitura aos endereços de e-mail de um usuário. | |  `user:follow` | Concede acesso para seguir ou deixar de seguir outros usuários.{% ifversion projects-oauth-scope %} -| **`project`** | Concede acesso de leitura/gravação ao usuário e à organização {% data variables.projects.projects_v2 %}. | +| **`project`** | Concede acesso de leitura/gravação ao usuário e à organização {% data variables.projects.projects_v2 %}. | |  `read:project` | Concede acesso somente de leitura ao usuário e à organização {% data variables.projects.projects_v2 %}.{% endif %} -| **`delete_repo`** | Concede acesso para excluir repositórios administráveis. | -| **`write:discussion`** | Permite acesso de leitura e gravação para discussões da equipe. | -|  `leia:discussion` | Permite acesso de leitura para discussões em equipe. | -| **`write:packages`** | Concede acesso ao para fazer o upload ou publicação de um pacote no {% data variables.product.prodname_registry %}. Para obter mais informações, consulte "[Publicar um pacote](/github/managing-packages-with-github-packages/publishing-a-package)". | -| **`read:packages`** | Concede acesso ao download ou instalação de pacotes do {% data variables.product.prodname_registry %}. Para obter mais informações, consulte "[Instalando um pacote](/github/managing-packages-with-github-packages/installing-a-package)". | -| **`delete:packages`** | Concede acesso para excluir pacotes de {% data variables.product.prodname_registry %}. Para obter mais informações, consulte "[Excluir e restaurar um pacote](/packages/learn-github-packages/deleting-and-restoring-a-package)". | -| **`admin:gpg_key`** | Gerenciar totalmente as chaves GPG. | -|  `write:gpg_key` | Criar, listar e visualizar informações das chaves GPG. | +| **`delete_repo`** | Concede acesso para excluir repositórios administráveis. | +| **`write:discussion`** | Permite acesso de leitura e gravação para discussões da equipe. | +|  `leia:discussion` | Permite acesso de leitura para discussões em equipe. | +| **`write:packages`** | Concede acesso ao para fazer o upload ou publicação de um pacote no {% data variables.product.prodname_registry %}. Para obter mais informações, consulte "[Publicar um pacote](/github/managing-packages-with-github-packages/publishing-a-package)". | +| **`read:packages`** | Concede acesso ao download ou instalação de pacotes do {% data variables.product.prodname_registry %}. Para obter mais informações, consulte "[Instalando um pacote](/github/managing-packages-with-github-packages/installing-a-package)". | +| **`delete:packages`** | Concede acesso para excluir pacotes de {% data variables.product.prodname_registry %}. Para obter mais informações, consulte "[Excluir e restaurar um pacote](/packages/learn-github-packages/deleting-and-restoring-a-package)". | +| **`admin:gpg_key`** | Gerenciar totalmente as chaves GPG. | +|  `write:gpg_key` | Criar, listar e visualizar informações das chaves GPG. | |  `read:gpg_key` | Listar e visualizar informações das chaves GPG.{% ifversion fpt or ghec %} | **`codespace`** | Concede a capacidade de criar e gerenciar codespaces. Os codespaces podem expor um GITHUB_TOKEN que pode ter um conjunto diferente de escopos. Para obter mais informações, consulte "[Segurança em {% data variables.product.prodname_github_codespaces %}](/codespaces/codespaces-reference/security-in-github-codespaces#authentication)."{% endif %} -| **`fluxo de trabalho`** | Concede a capacidade de adicionar e atualizar arquivos do fluxo de trabalho do {% data variables.product.prodname_actions %}. Os arquivos do fluxo de trabalho podem ser confirmados sem este escopo se o mesmo arquivo (com o mesmo caminho e conteúdo) existir em outro branch no mesmo repositório. Os arquivos do fluxo de trabalho podem expor o `GITHUB_TOKEN` que pode ter um conjunto diferente de escopos. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)."{% ifversion not fpt %} -| **`admin:enterprise`** | Gives full control of enterprise functionality. For more information, see "[Managing enterprise accounts](/graphql/guides/managing-enterprise-accounts)" in the GraphQL API documentation.

Includes `manage_runners:enterprise`{% ifversion ghec or ghes > 3.3 %}, `manage_billing:enterprise`,{% endif %} and `read:enterprise`. | -|  `manage_runners:enterprise` | Gives full control over self-hosted runners within the enterprise. Para obter mais informações, consulte "[Sobre os executores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners)." {% ifversion ghec or ghes > 3.3 %} -|  `manage_billing:enterprise` | Read and write enterprise billing data. For more information, see "[Billing](/rest/billing)" in the REST API documentation. {% endif %} -|  `read:enterprise` | Read all data on an enterprise profile. Does not include profile data of enterprise members or organizations.{% endif %} +| **`fluxo de trabalho`** | Concede a capacidade de adicionar e atualizar arquivos do fluxo de trabalho do {% data variables.product.prodname_actions %}. Os arquivos do fluxo de trabalho podem ser confirmados sem este escopo se o mesmo arquivo (com o mesmo caminho e conteúdo) existir em outro branch no mesmo repositório. Os arquivos do fluxo de trabalho podem expor o `GITHUB_TOKEN` que pode ter um conjunto diferente de escopos. Para obter mais informações, consulte "[Autenticação em um fluxo de trabalho](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)".{% ifversion not fpt %} +| **`admin:enterprise`** | Dá controle total da funcionalidade de empresa. Para obter mais informações, consulte "[Gerenciando contas corporativas](/graphql/guides/managing-enterprise-accounts)" na documentação da API do GraphQL.

Inclui `manage_runners:enterprise`{% ifversion ghec or ghes > 3.3 %}, `manage_billing:enterprise`,{% endif %} e `read:enterprise`. | +|  `manage_runners:enterprise` | Dá controle total sobre os executores auto-hospedados dentro da empresa. Para obter mais informações, consulte "[Sobre os executores auto-hospedados](/actions/hosting-your-own-runners/about-self-hosted-runners)." {% ifversion ghec or ghes > 3.3 %} +|  `manage_billing:enterprise` | Lê e escreve os dados de cobrança da empresa. Para obter mais informações, consulte "[Cobrança](/rest/billing)" na documentação da API REST. {% endif %} +|  `read:enterprise` | Lê todos os dados em um perfil corporativo. Não inclui dados de perfil de integrantes ou organizações da empresa.{% endif %} {% note %} **Observação:** O seu aplicativo OAuth pode solicitar os escopos no redirecionamento inicial. Você pode especificar vários escopos separando-os com um espaço usando `%20`: diff --git a/translations/pt-BR/content/developers/index.md b/translations/pt-BR/content/developers/index.md index 2415d05afe..38c18fb3ae 100644 --- a/translations/pt-BR/content/developers/index.md +++ b/translations/pt-BR/content/developers/index.md @@ -1,6 +1,6 @@ --- title: Desenvolvedores -intro: 'Go deeper with {% data variables.product.prodname_dotcom %} by integrating with our APIs and webhooks, customizing your {% data variables.product.prodname_dotcom %} workflow, and building and sharing apps with the community.' +intro: 'Aprofunde-se com {% data variables.product.prodname_dotcom %}, integrando nossas APIs e webhooks, personalizando seu fluxo de trabalho de {% data variables.product.prodname_dotcom %} e criando e compartilhando aplicativos com a comunidade.' introLinks: About apps: /developers/apps/getting-started-with-apps/about-apps layout: product-landing diff --git a/translations/pt-BR/content/developers/overview/about-githubs-apis.md b/translations/pt-BR/content/developers/overview/about-githubs-apis.md index afce6dd9a4..b5392876bf 100644 --- a/translations/pt-BR/content/developers/overview/about-githubs-apis.md +++ b/translations/pt-BR/content/developers/overview/about-githubs-apis.md @@ -15,17 +15,3 @@ topics: --- Existem duas versões estáveis da API do GitHub: a [API REST](/rest) e a [API do GraphQL](/graphql). - -## Versões obsoletas - -### beta - -A API beta tornou-se obsoleta em 22 de abril de 2014. - -### v2 - -Removemos o suporte à API v2 em 12 de Junho de 2012. - -### v1 - -Removemos o suporte à API v1 em 12 de Junho de 2012. diff --git a/translations/pt-BR/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/translations/pt-BR/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md index 99b6df1b91..10cec60594 100644 --- a/translations/pt-BR/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md +++ b/translations/pt-BR/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -37,12 +37,12 @@ $ export SECRET_TOKEN=your_token ## Validar cargas do GitHub -Quando seu token secreto está definido, {% data variables.product.product_name %} o utiliza para criar uma assinatura de hash com cada carga. Esta assinatura de hash está incluída com os cabeçalhos de cada solicitação como `X-Hub-Signature-256`. +Quando seu token secreto está definido, {% data variables.product.product_name %} o utiliza para criar uma assinatura de hash com cada carga. Esta assinatura hash está incluída nos cabeçalhos de cada solicitação como `x-hub-signature-256`. {% ifversion fpt or ghes or ghec %} {% note %} -**Observação:** Para compatibilidade com versões anteriores, também incluímos o cabeçalho `X-Hub-Signature` gerado usando a função de hash SHA-1. Se possível, recomendamos que você use o cabeçalho `X-Hub-Signature-256` para melhorar a segurança. O exemplo abaixo demonstra o uso do cabeçalho `X-Hub-Signature-256`. +**Observação:** Para compatibilidade regressiva, também incluímos o cabeçalho `x-hub-signature` que é gerado usando a função hash SHA-1. Se possível, recomendamos que você use o cabeçalho `x-hub-signature-256` para melhorar a segurança. O exemplo abaixo demonstra o uso do cabeçalho `x-hub-sigre-256`. {% endnote %} {% endif %} diff --git a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md index b75a97fdb5..b2213ca573 100644 --- a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md +++ b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students.md @@ -31,7 +31,7 @@ Depois que o aluno de {% data variables.product.prodname_global_campus %} for ve - Explore e reivindique ofertas para ferramentas grátis no setor a partir do [pacote de desenvolvedor para estudantes](https://education.github.com/pack). - Veja os próximos eventos presenciais e virtuais para estudantes, curados por {% data variables.product.prodname_education %} e líderes estudantes. - Veja as atividades no [GitHub Classroom](https://classroom.github.com/) com as próximas datas de vencimento. -- Mantenha-se atualizado sobre o que a comunidade está interessada ao assistir os episódios recentes de [Campus TV](https://www.twitch.tv/githubeducation). Campus TV is created by {% data variables.product.prodname_dotcom %} and student community leaders and can be watched live or on demand. +- Mantenha-se atualizado sobre o que a comunidade está interessada ao assistir os episódios recentes de [Campus TV](https://www.twitch.tv/githubeducation). A Campus TV é criada por {% data variables.product.prodname_dotcom %} e líderes da comunidade estudantil e pode ser assistida ao vivo ou sob demanda. - Descubra repositórios criados pelos alunos do GitHub Community Exchange. Para obter mais informações, consulte "[Sobre o GitHub Community Exchange](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange)". ## Leia mais diff --git a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md index 4a0f792429..f6e63ad016 100644 --- a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md +++ b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers.md @@ -24,11 +24,11 @@ Antes de solicitar um desconto individual, verifique se sua comunidade de estudo {% data variables.product.prodname_global_campus %} é um portal a partir do qual você pode acessar seus benefícios e recursos de {% data variables.product.prodname_education %}, tudo em um só lugar. No portal de {% data variables.product.prodname_global_campus %}, os professores de todos os níveis podem: {% data reusables.education.apply-for-team %} - - View an overview of your active [{% data variables.product.prodname_classroom %}](https://classroom.github.com), including recent assignments and your class's progress at a glance, as well as links to {% data variables.product.prodname_classroom %}. - - View and interact with [{% data variables.product.prodname_discussions %}](https://github.com/orgs/community/discussions/categories/github-education) posted by your peers from around the world to discuss current trends in technology education, and see the latest posts from our [{% data variables.product.prodname_education %} blog](https://github.blog/category/education/). - - See student events curated by {% data variables.product.prodname_education %} and student leaders. - - Stay in the know on what the student community is interested in by rewatching recent [Campus TV](https://www.twitch.tv/githubeducation) episodes. Campus TV is created by {% data variables.product.prodname_dotcom %} and student community leaders and can be watched live or on demand. - - Request a {% data variables.product.prodname_dotcom %} swag bag with educational materials and goodies for your students. + - Obtenha uma visão geral do seu [{% data variables.product.prodname_classroom %} ativo](https://classroom.github.com), incluindo recomendações recentes e o resumo do progresso da sua turma, bem como links para {% data variables.product.prodname_classroom %}. + - Visualize e interaja com [{% data variables.product.prodname_discussions %}](https://github.com/orgs/community/discussions/categories/github-education) postado por seus pares de todo o mundo para discutir as tendências atuais na educação tecnológica e veja as últimas postagens do nosso blogue [{% data variables.product.prodname_education %}](https://github.blog/category/education/). + - Confira eventos de estudantes curados por {% data variables.product.prodname_education %} e líderes de estudantes. + - Mantenha-se atualizado sobre o que a comunidade de alunos está interessada ao assistir aos episódios recentes da [Campus TV](https://www.twitch.tv/githubeducation). A Campus TV é criada por {% data variables.product.prodname_dotcom %} e líderes da comunidade estudantil e pode ser assistida ao vivo ou sob demanda. + - Solicite brindes de {% data variables.product.prodname_dotcom %} com materiais educativos e benefícios para seus alunos. ## Leia mais diff --git a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index 6386d24345..8912b36935 100644 --- a/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/translations/pt-BR/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -9,8 +9,8 @@ redirect_from: versions: fpt: '*' children: - - /use-github-at-your-educational-institution - /github-global-campus-for-students - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution --- diff --git a/translations/pt-BR/content/education/guides.md b/translations/pt-BR/content/education/guides.md index 3ccad19447..0113ff810a 100644 --- a/translations/pt-BR/content/education/guides.md +++ b/translations/pt-BR/content/education/guides.md @@ -13,15 +13,15 @@ Professores, estudantes e pesquisadores podem usar ferramentas de {% data variab - [Cadastre-se para uma nova conta de {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-a-new-github-account) - [Git e início rápido de {% data variables.product.prodname_dotcom %} ](/github/getting-started-with-github/quickstart) -- [About {% data variables.product.prodname_global_campus %} for students](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) -- [Apply to {% data variables.product.prodname_global_campus %} as a teacher](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher) -- [Apply to {% data variables.product.prodname_global_campus %} as a student](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student) +- [Sobre {% data variables.product.prodname_global_campus %} para alunos](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) +- [Candidatar-se a {% data variables.product.prodname_global_campus %} como professor](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/apply-to-github-global-campus-as-a-teacher) +- [Candidatar-se a {% data variables.product.prodname_global_campus %} como um aluno](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student) ## Execute um curso de desenvolvimento de software com {% data variables.product.company_short %} Administrar uma sala de aula, atribuir e revisar o trabalho de seus alunos e ensinar a nova geração de desenvolvedores de software com {% data variables.product.prodname_classroom %}. -- [About {% data variables.product.prodname_global_campus %} for teachers](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers) +- [Sobre {% data variables.product.prodname_global_campus %} para professores](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers/about-github-global-campus-for-teachers) - [Fundamentos da configuração de {% data variables.product.prodname_classroom %} ](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom) - [Gerenciar salas de aula](/education/manage-coursework-with-github-classroom/manage-classrooms) - [Use o Git e a atividade iniciante de {% data variables.product.company_short %}](/education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment) @@ -36,7 +36,7 @@ Administrar uma sala de aula, atribuir e revisar o trabalho de seus alunos e ens Incorpore {% data variables.product.prodname_dotcom %} na sua educação e use as mesmas ferramentas dos profissionais. - [Git e recursos de aprendizagem de {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/git-and-github-learning-resources) -- [{% data variables.product.prodname_global_campus %} for students](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students) +- [{% data variables.product.prodname_global_campus %} para alunos](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students) - [Experimente {% data variables.product.prodname_desktop %}](/desktop) - [Experimente {% data variables.product.prodname_cli %}](/github/getting-started-with-github/github-cli) @@ -45,6 +45,6 @@ Incorpore {% data variables.product.prodname_dotcom %} na sua educação e use a Participe da comunidade, receba treinamento de {% data variables.product.company_short %}, e aprenda ou ensine novas habilidades. - [{% data variables.product.prodname_education_community %}]({% data variables.product.prodname_education_forum_link %}) -- [About {% data variables.product.prodname_global_campus %} for students](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) +- [Sobre {% data variables.product.prodname_global_campus %} para alunos](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-global-campus-for-students) - [Sobre Especialistas de campus](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-campus-experts) - [Contribua com o GitHub Community Exchange](/education/contribute-with-github-community-exchange) diff --git a/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md b/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md index 79ad8ecb22..9572fb3b59 100644 --- a/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md +++ b/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md @@ -55,7 +55,7 @@ Para uma atividade em grupo, {% data variables.product.prodname_classroom %} nom ### Escolher um tipo de atividade -Em "Atividade individual ou em grupo", selecione o menu suspenso e, em seguida, clique em **Atividade em grupo**. Você não pode alterar o tipo de atividade depois de criá-la. If you'd rather create an individual assignment, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." +Em "Atividade individual ou em grupo", selecione o menu suspenso e, em seguida, clique em **Atividade em grupo**. Você não pode alterar o tipo de atividade depois de criá-la. Se você preferir criar uma atividade individual, consulte "[Criar uma atividade individual](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)". ### Definir equipes para uma atividade @@ -151,6 +151,6 @@ A página de visão geral de atividades exibe informações sobre a aceitação ## Leia mais -- [{% data variables.product.prodname_global_campus %} for teachers](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers) +- [{% data variables.product.prodname_global_campus %} para professores](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers) - "[Conecte um sistema de gerenciamento de aprendizagem para {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" - [Usar Equipes Existentes atividades em grupo?](https://education.github.community/t/using-existing-teams-in-group-assignments/6999) na comunidade de {% data variables.product.prodname_education %} diff --git a/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md b/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md index 0f33cb159c..accafcf6b9 100644 --- a/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md +++ b/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md @@ -130,5 +130,5 @@ A página de visão geral do trabalho fornece uma visão geral das suas aceitaç ## Leia mais -- "[{% data variables.product.prodname_global_campus %} for teachers](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers)" +- "[{% data variables.product.prodname_global_campus %} fpara professores](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers)" - "[Conecte um sistema de gerenciamento de aprendizagem para {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" diff --git a/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md b/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md index 9be277ee43..3a58f024de 100644 --- a/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md +++ b/translations/pt-BR/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md @@ -100,5 +100,5 @@ A atividade inicial do Git & {% data variables.product.company_short %} só est ## Leia mais -- "[{% data variables.product.prodname_global_campus %} for teachers](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers)" +- "[{% data variables.product.prodname_global_campus %} fpara professores](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-teachers)" - "[Conecte um sistema de gerenciamento de aprendizagem para {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" diff --git a/translations/pt-BR/content/education/quickstart.md b/translations/pt-BR/content/education/quickstart.md index a84c0b11b9..461b54714f 100644 --- a/translations/pt-BR/content/education/quickstart.md +++ b/translations/pt-BR/content/education/quickstart.md @@ -15,7 +15,7 @@ Neste guia, você começará com {% data variables.product.product_name %}, insc {% tip %} -**Tip**: If you're a student and you'd like to take advantage of an academic discount, see "[Apply to {% data variables.product.prodname_global_campus %} as a student](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)." +**Dica**: Se você é um aluno e gostaria de aproveitar um desconto acadêmico, consulte "[Inscrever-se em {% data variables.product.prodname_global_campus %} como um aluno](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)." {% endtip %} @@ -35,9 +35,9 @@ Depois de criar a sua conta pessoal, crie uma conta grátis de organização. Vo Para obter mais informações, consulte "[Tipos de contas de {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/types-of-github-accounts)". -## Applying for teacher benefits +## Candidatando-se aos benefícios para professores -Next, you'll sign up for teacher benefits and resources from {% data variables.product.company_short %} by applying to {% data variables.product.prodname_global_campus %}, a portal that allows you to access your education benefits all in one place. {% data reusables.education.educator-requirements %} +Em seguida, você irá inscrever-se para os benefícios e recursos dos professores de {% data variables.product.company_short %}, candidatando-se a {% data variables.product.prodname_global_campus %}, um portal que permite que você acesse todos os seus benefícios educativos em um só lugar. {% data reusables.education.educator-requirements %} {% tip %} @@ -53,7 +53,7 @@ Next, you'll sign up for teacher benefits and resources from {% data variables.p {% data reusables.education.plan-to-use-github %} {% data reusables.education.submit-application %} -Once you are a verified {% data variables.product.prodname_global_campus %} educator, you can access {% data variables.product.prodname_global_campus %} anytime by going to the [{% data variables.product.prodname_education %} website](https://education.github.com). +Depois que o educador de {% data variables.product.prodname_global_campus %} for verificado, você poderá acessar {% data variables.product.prodname_global_campus %} a qualquer momento acessando o site [{% data variables.product.prodname_education %}](https://education.github.com). ## Configurar {% data variables.product.prodname_classroom %} diff --git a/translations/pt-BR/content/get-started/exploring-projects-on-github/following-organizations.md b/translations/pt-BR/content/get-started/exploring-projects-on-github/following-organizations.md index cc6da2989c..2be7516721 100644 --- a/translations/pt-BR/content/get-started/exploring-projects-on-github/following-organizations.md +++ b/translations/pt-BR/content/get-started/exploring-projects-on-github/following-organizations.md @@ -7,15 +7,11 @@ topics: - Profile --- -{% note %} - -**Observação:** A capacidade de seguir organizações está atualmente em versão beta pública e sujeita a alterações. - -{% endnote %} +{% data reusables.organizations.follow-organizations-beta %} ## Sobre seguidores em {% data variables.product.product_name %} -Ao seguir as organizações, você verá as atividades públicas delas no seu painel pessoal. Para obter mais informações, consulte "[Sobre seu painel pessoal](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)". +{% data reusables.organizations.about-following-organizations %} Para obter mais informações, consulte "[Sobre o seu painel pessoal](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." Você pode deixar de seguir uma organização se você não quiser ver sua atividade {% ifversion fpt or ghec %}pública {% endif %} em {% data variables.product.product_name %}. diff --git a/translations/pt-BR/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md b/translations/pt-BR/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md index 4d04cdaa7c..edd0827449 100644 --- a/translations/pt-BR/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md +++ b/translations/pt-BR/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md @@ -57,11 +57,21 @@ Se você tiver código-fonte ou repositórios armazenados localmente no computad 1. [Crie um repositório ](/repositories/creating-and-managing-repositories/creating-a-new-repository) no {% data variables.product.product_location %}. Para evitar erros, não inicialize o novo repositório com os arquivos *README*, de licença ou `gitignore`. É possível adicionar esses arquivos após push do projeto no {% data variables.product.product_name %}. ![Menu suspenso Create New Repository (Criar novo repositório)](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Altere o diretório de trabalho atual referente ao seu projeto local. -4. Inicialize o diretório local como um repositório Git. - ```shell - $ git init -b main - ``` +4. Use o comando `init` para inicializar o diretório local como um repositório do Git. Por padrão, o branch inicial é denominado `mestre`. + + Se você estiver usando o Git 2.28.0 ou uma versão posterior, você poderá definir o nome do branch padrão usando `-b`. + + ``` shell + $ git init -b main + ``` + + Se estiver usando o Git 2.27. ou versão anterior, você poderá definir o nome do branch padrão usando `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Adicione os arquivos ao novo repositório local. Isso faz stage deles para o primeiro commit. + ```shell $ git add . # Adiciona os arquivos no repositório local e faz stage deles para commit. {% data reusables.git.unstage-codeblock %} @@ -92,10 +102,19 @@ Se você tiver código-fonte ou repositórios armazenados localmente no computad 1. [Crie um repositório ](/articles/creating-a-new-repository) no {% data variables.product.product_location %}. Para evitar erros, não inicialize o novo repositório com os arquivos *README*, de licença ou `gitignore`. É possível adicionar esses arquivos após push do projeto no {% data variables.product.product_name %}. ![Menu suspenso Create New Repository (Criar novo repositório)](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Altere o diretório de trabalho atual referente ao seu projeto local. -4. Inicialize o diretório local como um repositório Git. - ```shell - $ git init -b main - ``` +4. Use o comando `init` para inicializar o diretório local como um repositório do Git. Por padrão, o branch inicial é denominado `mestre`. + + Se você estiver usando o Git 2.28.0 ou uma versão posterior, você poderá definir o nome do branch padrão usando `-b`. + + ``` shell + $ git init -b main + ``` + + Se estiver usando o Git 2.27. ou versão anterior, você poderá definir o nome do branch padrão usando `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Adicione os arquivos ao novo repositório local. Isso faz stage deles para o primeiro commit. ```shell $ git add . @@ -127,10 +146,19 @@ Se você tiver código-fonte ou repositórios armazenados localmente no computad 1. [Crie um repositório ](/articles/creating-a-new-repository) no {% data variables.product.product_location %}. Para evitar erros, não inicialize o novo repositório com os arquivos *README*, de licença ou `gitignore`. É possível adicionar esses arquivos após push do projeto no {% data variables.product.product_name %}. ![Menu suspenso Create New Repository (Criar novo repositório)](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Altere o diretório de trabalho atual referente ao seu projeto local. -4. Inicialize o diretório local como um repositório Git. - ```shell - $ git init -b main - ``` +4. Use o comando `init` para inicializar o diretório local como um repositório do Git. Por padrão, o branch inicial é denominado `mestre`. + + Se você estiver usando o Git 2.28.0 ou uma versão posterior, você poderá definir o nome do branch padrão usando `-b`. + + ``` shell + $ git init -b main + ``` + + Se estiver usando o Git 2.27. ou versão anterior, você poderá definir o nome do branch padrão usando `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Adicione os arquivos ao novo repositório local. Isso faz stage deles para o primeiro commit. ```shell $ git add . diff --git a/translations/pt-BR/content/get-started/quickstart/be-social.md b/translations/pt-BR/content/get-started/quickstart/be-social.md index 139c148c3d..a15b60e380 100644 --- a/translations/pt-BR/content/get-started/quickstart/be-social.md +++ b/translations/pt-BR/content/get-started/quickstart/be-social.md @@ -58,7 +58,23 @@ No painel de controle, clique no menu suspenso do seu nome de usuário no lado e ![Menu suspenso de alternância de contexto da conta](/assets/images/help/overview/dashboard-contextswitcher.png) -### Explorar outros projetos no {% data variables.product.prodname_dotcom %} +{% ifversion for-you-feed %} + +## Seguindo organizações + +{% data reusables.organizations.follow-organizations-beta %} + +{% data reusables.organizations.about-following-organizations %} + +Para seguir uma organização, no cabeçalho da página, clique em **Seguir**. + +![Captura de tela do cabeçalho da organização, com o botão seguir destacado](/assets/images/help/profile/organization-profile-following.png) + +Para obter mais informações, consulte "[Seguindo as organizações](/get-started/exploring-projects-on-github/following-organizations)". + +{% endif %} + +## Explorar outros projetos no {% data variables.product.prodname_dotcom %} Você pode encontrar projetos novos e interessantes na página de explorar de {% data variables.product.prodname_dotcom %}. Você pode favoritar projetos interessantes para torná-los fáceis de encontrar mais tarde. Visite sua página de favoritos para ver todos os seus projetos favoritos. Para obter mais informações sobre estrelas, consulte "[Repositórios salvos com estrelas](/get-started/exploring-projects-on-github/saving-repositories-with-stars)". diff --git a/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md b/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md index 1ac017a6dc..1bb5b95e63 100644 --- a/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md +++ b/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md @@ -19,10 +19,10 @@ allowTitleToDifferFromFilename: true {% note %} -**{% ifversion classic-project-visibility-permissions %}Notes{% else %}Note{% endif %}:** {% ifversion classic-project-visibility-permissions %} +**{% ifversion classic-project-visibility-permissions %}Observações{% else %}Observação{% endif %}:** {% ifversion classic-project-visibility-permissions %} * {% data reusables.projects.owners-can-limit-visibility-permissions %} -* {% endif %}When you make your {% data variables.projects.projects_v1_board %} {% ifversion ghae %}internal{% else %}public{% endif %}, organization members are given read access by default. Você pode dar permissões de gravação ou de administrador a certos integrantes da organização, dando acesso a equipes nas quais estão ou adicionando-os ao {% data variables.projects.projects_v1_board %} como colaborador. Para obter mais informações, consulte "[Permissões de {% data variables.product.prodname_project_v1_caps %} para uma organização](/articles/project-board-permissions-for-an-organization)". +* {% endif %}Ao se tornar o seu {% data variables.projects.projects_v1_board %} {% ifversion ghae %}interno{% else %}público{% endif %}, os integrantes da organização recebem acesso de leitura por padrão. Você pode dar permissões de gravação ou de administrador a certos integrantes da organização, dando acesso a equipes nas quais estão ou adicionando-os ao {% data variables.projects.projects_v1_board %} como colaborador. Para obter mais informações, consulte "[Permissões de {% data variables.product.prodname_project_v1_caps %} para uma organização](/articles/project-board-permissions-for-an-organization)". {% endnote %} diff --git a/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md b/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md index 1f48927a59..32441b575c 100644 --- a/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md +++ b/translations/pt-BR/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md @@ -37,7 +37,7 @@ Você também pode configurar automações de fluxo de trabalho para manter seu {% data reusables.profile.access_profile %} 2. No topa da página do seu perfil, na navegação principal, clique em {% octicon "project" aria-label="The project board icon" %} **Projects** (Projetos). ![Project tab](/assets/images/help/projects/user-projects-tab.png){% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.click-new-project %} {% data reusables.project-management.create-project-name-description %} {% data reusables.project-management.choose-template %} @@ -68,7 +68,7 @@ Você também pode configurar automações de fluxo de trabalho para manter seu {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.click-new-project %} {% data reusables.project-management.create-project-name-description %} {% data reusables.project-management.choose-template %} @@ -90,7 +90,7 @@ Você também pode configurar automações de fluxo de trabalho para manter seu {% data reusables.repositories.navigate-to-repo %} 2. Abaixo do nome do repositório, clique em {% octicon "project" aria-label="The project board icon" %} **Projects** (Projetos). ![Project tab](/assets/images/help/projects/repo-tabs-projects.png){% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.click-new-project %} {% data reusables.project-management.create-project-name-description %} {% data reusables.project-management.choose-template %} diff --git a/translations/pt-BR/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/translations/pt-BR/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index b80b65ad12..63a1fa18a9 100644 --- a/translations/pt-BR/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/translations/pt-BR/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -24,7 +24,7 @@ Para transferir um problema aberto para outro repositório, é preciso ter acess {% endnote %} -Ao transferir um problema, os comentários, etiquetas e responsáveis são mantidos. Os marcos do problema não são mantidos. Esse problema permanecerá em qualquer quadro de projeto pertencente ao usuário ou à organização e será removido dos quadros de projeto de todos os repositórios. Para obter mais informações, consulte "[Sobre quadros de projeto](/articles/about-project-boards)". +Quando você transfere um problema, os comentários e responsáveis são mantidos. Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. Esse problema permanecerá em qualquer quadro de projeto pertencente ao usuário ou à organização e será removido dos quadros de projeto de todos os repositórios. Para obter mais informações, consulte "[Sobre quadros de projeto](/articles/about-project-boards)". As pessoas ou equipes mencionadas no problema receberão uma notificação informando que o problema foi transferido para um novo repositório. O URL original redirecionará para o novo URL do problema. As pessoas que não tenham permissões de leitura no novo repositório verão um banner informando que o problema foi transferido para um novo repositório ao qual elas não têm acesso. diff --git a/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index 88cf8656de..8a5a45ffb3 100644 --- a/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/translations/pt-BR/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -36,15 +36,22 @@ Você também pode configurar endereços IP permitidos para as organizações em ## Adicionar endereços IP permitidos +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## Habilitar endereços IP permitidos +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -69,6 +76,8 @@ Para mais informações sobre como criar uma lista de permissões para uma {% da ## Editar endereços IP permitidos +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -76,6 +85,18 @@ Para mais informações sobre como criar uma lista de permissões para uma {% da {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 1. Clique em **Atualizar**. +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Verificando se um endereço IP é permitido + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## Excluir endereços IP permitidos diff --git a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md index 9fe03c8946..e485551052 100644 --- a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md +++ b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md @@ -1,6 +1,6 @@ --- -title: 'Adding an outside collaborator to a {% data variables.product.prodname_project_v1 %} in your organization' -intro: 'As an organization owner or {% data variables.projects.projects_v1_board %} admin, you can add an outside collaborator and customize their permissions to a {% data variables.projects.projects_v1_board %}.' +title: 'Adicionar um colaborador externo a um {% data variables.product.prodname_project_v1 %} na sua organização' +intro: 'Como proprietário da organização ou administrador de {% data variables.projects.projects_v1_board %}, você pode adicionar um colaborador externo e personalizar suas permissões a um {% data variables.projects.projects_v1_board %}.' redirect_from: - /articles/adding-an-outside-collaborator-to-a-project-board-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-an-outside-collaborator-to-a-project-board-in-your-organization @@ -18,12 +18,12 @@ allowTitleToDifferFromFilename: true {% data reusables.projects.project_boards_old %} -An outside collaborator is a person who isn't explicitly a member of your organization, but who has permissions to a {% data variables.projects.projects_v1_board %} in your organization. +Um colaborador externo é uma pessoa que não é explicitamente integrante da sua organização, mas que tem permissões para um {% data variables.projects.projects_v1_board %} na sua organização. {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} diff --git a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md index 1608506f66..ff07f33b08 100644 --- a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md +++ b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md @@ -31,7 +31,7 @@ Por padrão, os integrantes da organização têm acesso de gravação ao {% dat {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} @@ -40,6 +40,6 @@ Por padrão, os integrantes da organização têm acesso de gravação ao {% dat ## Leia mais -- "[Managing an individual’s access to an organization {% data variables.product.prodname_project_v1 %}](/articles/managing-an-individual-s-access-to-an-organization-project-board)" -- "[Managing team access to an organization {% data variables.product.prodname_project_v1 %}](/articles/managing-team-access-to-an-organization-project-board)" +- "[Gerenciando o acesso de um indivíduo a uma organização de {% data variables.product.prodname_project_v1 %}](/articles/managing-an-individual-s-access-to-an-organization-project-board)" +- "[Gerenciando o acesso de uma equipe a uma organização de {% data variables.product.prodname_project_v1 %}](/articles/managing-team-access-to-an-organization-project-board)" - "[Permissões de {% data variables.product.prodname_project_v1_caps %} para uma organização](/articles/project-board-permissions-for-an-organization)" diff --git a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md index d384177275..74893316ad 100644 --- a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md +++ b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md @@ -1,6 +1,6 @@ --- -title: 'Managing an individual’s access to an organization {% data variables.product.prodname_project_v1 %}' -intro: 'As an organization owner or {% data variables.projects.projects_v1_board %} admin, you can manage an individual member''s access to a {% data variables.projects.projects_v1_board %} owned by your organization.' +title: 'Gerenciando o acesso de um indivíduo a uma organização de {% data variables.product.prodname_project_v1 %}' +intro: 'Como proprietário da organização ou administrador de {% data variables.projects.projects_v1_board %}, você pode gerenciar o acesso de um integrante individual a um {% data variables.projects.projects_v1_board %} pertencente à sua organização.' redirect_from: - /articles/managing-an-individual-s-access-to-an-organization-project-board - /articles/managing-an-individuals-access-to-an-organization-project-board @@ -21,16 +21,16 @@ allowTitleToDifferFromFilename: true {% note %} -**Note:** {% data reusables.project-management.cascading-permissions %} For more information, see "[{% data variables.product.prodname_project_v1_caps %} permissions for an organization](/articles/project-board-permissions-for-an-organization)." +**Observação:** {% data reusables.project-management.cascading-permissions %} Para obter mais informações, consulte "[permissões de {% data variables.product.prodname_project_v1_caps %} para uma organização](/articles/project-board-permissions-for-an-organization)". {% endnote %} -## Giving an organization member access to a {% data variables.projects.projects_v1_board %} +## Aoncedendo acesso a um integrante da organização a um {% data variables.projects.projects_v1_board %} {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} @@ -39,26 +39,26 @@ allowTitleToDifferFromFilename: true {% data reusables.project-management.add-collaborator %} {% data reusables.project-management.collaborator-permissions %} -## Changing an organization member's access to a {% data variables.projects.projects_v1_board %} +## Alterando o acesso dos integrantes de uma organização para um {% data variables.projects.projects_v1_board %} {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.collaborator-option %} {% data reusables.project-management.collaborator-permissions %} -## Removing an organization member's access to a {% data variables.projects.projects_v1_board %} +## Removendo acesso do integrante da organização a um {% data variables.projects.projects_v1_board %} -When you remove a collaborator from a {% data variables.projects.projects_v1_board %}, they may still retain access to the board based on the permissions they have for other roles. To completely remove access to a {% data variables.projects.projects_v1_board %}, you must remove access for each role the person has. For instance, a person may have access to the {% data variables.projects.projects_v1_board %} as an organization member or team member. Para obter mais informações, consulte "[Permissões de {% data variables.product.prodname_project_v1_caps %} para uma organização](/articles/project-board-permissions-for-an-organization)". +Ao remover um colaborador de um {% data variables.projects.projects_v1_board %}, ele ainda poderá manter o acesso ao quadro com base nas permissões para outras funções. Para remover completamente o acesso a um {% data variables.projects.projects_v1_board %}, você deverá remover o acesso para cada função que a pessoa possui. Por exemplo, uma pessoa pode ter acesso ao {% data variables.projects.projects_v1_board %} como integrante da organização ou integrante da equipe. Para obter mais informações, consulte "[Permissões de {% data variables.product.prodname_project_v1_caps %} para uma organização](/articles/project-board-permissions-for-an-organization)". {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} diff --git a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md index 194e2aec07..f1e0f42b45 100644 --- a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md +++ b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md @@ -1,6 +1,6 @@ --- -title: 'Managing team access to an organization {% data variables.product.prodname_project_v1 %}' -intro: 'As an organization owner or {% data variables.projects.projects_v1_board %} admin, you can give a team access to a {% data variables.projects.projects_v1_board %} owned by your organization.' +title: 'Gerenciando o acesso de equipe a uma organização de {% data variables.product.prodname_project_v1 %}' +intro: 'Como proprietário de uma organização ou administrador de {% data variables.projects.projects_v1_board %}, você pode conceder acesso a uma equipe a um {% data variables.projects.projects_v1_board %} pertencente à sua organização.' redirect_from: - /articles/managing-team-access-to-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-project-board @@ -21,25 +21,25 @@ allowTitleToDifferFromFilename: true {% warning %} **Avisos:** -- You can change a team's permission level if the team has direct access to a {% data variables.projects.projects_v1_board %}. If the team's access to the {% data variables.projects.projects_v1_board %} is inherited from a parent team, you must change the parent team's access to the {% data variables.projects.projects_v1_board %}. -- If you add or remove {% data variables.projects.projects_v1_board %} access for a parent team, each of that parent's child teams will also receive or lose access to the {% data variables.projects.projects_v1_board %}. Para obter mais informações, consulte "[Sobre equipes](/articles/about-teams)". +- Você pode alterar o nível de permissão de uma equipe se a equipe tiver acesso direto a um {% data variables.projects.projects_v1_board %}. Se o acesso da equipe ao {% data variables.projects.projects_v1_board %} for herdado de uma equipe principal, você deverá alterar o acesso da equipe principal a {% data variables.projects.projects_v1_board %}. +- Se você adicionar ou remover o acesso de {% data variables.projects.projects_v1_board %} a uma equipe principal, cada uma das equipes secundárias dessa principal também receberá ou perderá acesso ao {% data variables.projects.projects_v1_board %}. Para obter mais informações, consulte "[Sobre equipes](/articles/about-teams)". {% endwarning %} -## Giving a team access to a {% data variables.projects.projects_v1_board %} +## Dando acesso a uma equipe {% data variables.projects.projects_v1_board %} -You can give an entire team the same permission level to a {% data variables.projects.projects_v1_board %}. +Você pode dar a uma equipe inteira o mesmo nível de permissão para um {% data variables.projects.projects_v1_board %}. {% note %} -**Note:** {% data reusables.project-management.cascading-permissions %} For example, if an organization owner has given a team read permissions to a {% data variables.projects.projects_v1_board %}, and a {% data variables.projects.projects_v1_board %} admin gives one of the team members admin permissions to that board as an individual collaborator, that person would have admin permissions to the {% data variables.projects.projects_v1_board %}. For more information see, "[{% data variables.product.prodname_project_v1_caps %} permissions for an organization](/articles/project-board-permissions-for-an-organization)." +**Observação:** {% data reusables.project-management.cascading-permissions %} Por exemplo, se o proprietário de uma organização concedeu permissões de leitura para um {% data variables.projects.projects_v1_board %}, e um administrador de {% data variables.projects.projects_v1_board %} conceder a um dos integrantes da equipe permissões de administrador para esse quadro como colaborador individual, essa pessoa teria permissões de administrador para o {% data variables.projects.projects_v1_board %}. Para obter mais informações, consulte "[Permissões de {% data variables.product.prodname_project_v1_caps %}para uma organização](/articles/project-board-permissions-for-an-organization)". {% endnote %} {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} @@ -47,12 +47,12 @@ You can give an entire team the same permission level to a {% data variables.pro 9. Para adicionar uma equipe, clique em **Add a team: Select team** (Adicionar uma equipe: Selecionar equipe). Depois, escolha uma equipe no menu suspenso ou pesquise a equipe que você deseja adicionar. ![Menu suspenso Add a team (Adicionar uma equipe) com lista de equipes na organização](/assets/images/help/projects/add-a-team.png) 10. Ao lado do nome da equipe, use o menu suspenso para selecionar o nível de permissão desejado: **Read** (Leitura), **Write** (Gravação) ou **Admin** (Administrador). ![Menu suspenso Team permissions (Permissões de equipe) com opções read, write e admin (leitura, gravação e administrador)](/assets/images/help/projects/org-project-team-choose-permissions.png) -## Configuring a team's access to a {% data variables.projects.projects_v1_board %} +## Configurando o acesso de uma equipe a um {% data variables.projects.projects_v1_board %} -If a team's access to a {% data variables.projects.projects_v1_board %} is inherited from a parent team, you must change the parent team's access to the {% data variables.projects.projects_v1_board %} to update access to the child teams. +Se o acesso de uma equipe a um {% data variables.projects.projects_v1_board %} for herdado de uma equipe principal, você precisa alterar o acesso da equipe principal a {% data variables.projects.projects_v1_board %} para atualizar o acesso às equipes secundárias. {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.specific_team %} 4. Acima das conversas da equipe, clique em {% octicon "project" aria-label="The Projects icon" %} **Projects** (Projetos). ![Aba repositórios da equipe](/assets/images/help/organizations/team-project-board-button.png) -5. To change permissions levels, to the right of the {% data variables.projects.projects_v1_board %} you want to update, use the drop-down. To remove a {% data variables.projects.projects_v1_board %}, click **{% octicon "trash" aria-label="The trash icon" %}**. ![Botão Trash (Lixeira) Remove a project board from your team (Remover um quadro de projeto de sua equipe)](/assets/images/help/organizations/trash-button.png) +5. Para alterar níveis de permissões, à direita de {% data variables.projects.projects_v1_board %} que você deseja atualizar, use o menu suspenso. Para remover um {% data variables.projects.projects_v1_board %}, clique em **{% octicon "trash" aria-label="The trash icon" %}**. ![Botão Trash (Lixeira) Remove a project board from your team (Remover um quadro de projeto de sua equipe)](/assets/images/help/organizations/trash-button.png) diff --git a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md index c5c9c2c542..28d0f764cf 100644 --- a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md +++ b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md @@ -1,6 +1,6 @@ --- title: 'Permissões de {% data variables.product.prodname_project_v1_caps %} de para uma organização' -intro: 'Organization owners and people with {% data variables.projects.projects_v1_board %} admin permissions can customize who has read, write, and admin permissions to your organization’s {% data variables.projects.projects_v1_boards %}.' +intro: 'Os proprietários da organização e pessoas com permissões de administrador para {% data variables.projects.projects_v1_board %} podem personalizar quem leu, escreveu e as permissões de administrador para o {% data variables.projects.projects_v1_boards %} da sua organização.' redirect_from: - /articles/project-board-permissions-for-an-organization - /github/setting-up-and-managing-organizations-and-teams/project-board-permissions-for-an-organization @@ -20,32 +20,32 @@ allowTitleToDifferFromFilename: true ## Visão geral das permissões -There are three levels of permissions to a {% data variables.projects.projects_v1_board %} for people and teams: +Existem três níveis de permissões para um {% data variables.projects.projects_v1_board %} para pessoas e equipes: {% data reusables.project-management.project-board-permissions %} -Organization owners and people with admin permissions can give a person access to an organization {% data variables.projects.projects_v1_board %} individually, as an outside collaborator or organization member, or through their membership in a team or organization. Um colaborador externo é uma pessoa que não é integrante da organização mas recebeu permissões para colaborar na organização. +Os proprietários da organização e pessoas com permissões de administrador podem dar acesso a uma organização de {% data variables.projects.projects_v1_board %} individualmente, como colaborador ou integrante da organização externo, ou por meio de sua associação a uma equipe ou organização. Um colaborador externo é uma pessoa que não é integrante da organização mas recebeu permissões para colaborar na organização. -Organization owners and people with admin permissions to a {% data variables.projects.projects_v1_board %} can also: +Os proprietários da organização e as pessoas com permissões de administradores em um {% data variables.projects.projects_v1_board %} também podem: - Definir permissões de quadro de projeto padrão para todos os integrantes da organização. -- Gerenciar o acesso de integrantes, equipes e colaboradores externos da organização ao quadro de projeto. For more information, see "[Managing team access to an organization {% data variables.product.prodname_project_v1 %}](/articles/managing-team-access-to-an-organization-project-board)", "[Managing an individual’s access to an organization {% data variables.product.prodname_project_v1 %}](/articles/managing-an-individual-s-access-to-an-organization-project-board)", or "[Managing access to a {% data variables.product.prodname_project_v1 %} for organization members](/articles/managing-access-to-a-project-board-for-organization-members)." -- Gerenciar a visibilidade do quadro de projeto. For more information, see "[Managing access to a {% data variables.product.prodname_project_v1 %} for organization members](/articles/managing-access-to-a-project-board-for-organization-members)." +- Gerenciar o acesso de integrantes, equipes e colaboradores externos da organização ao quadro de projeto. Para obter mais informações, consulte "[Gerenciando o acesso da equipe a uma organização {% data variables.product.prodname_project_v1 %}](/articles/managing-team-access-to-an-organization-project-board)", "[Gerenciando o acesso de um indivíduo a uma organização {% data variables.product.prodname_project_v1 %}](/articles/managing-an-individual-s-access-to-an-organization-project-board)", ou "[Gerenciando o acesso a um {% data variables.product.prodname_project_v1 %} para os integrantes da organização](/articles/managing-access-to-a-project-board-for-organization-members)." +- Gerenciar a visibilidade do quadro de projeto. Para obter mais informações, consulte "[Gerenciando o acesso a um {% data variables.product.prodname_project_v1 %} para os integrantes da organização](/articles/managing-access-to-a-project-board-for-organization-members)". -## Cascading permissions for {% data variables.projects.projects_v1_boards %} +## Permissões em cascata para {% data variables.projects.projects_v1_boards %} {% data reusables.project-management.cascading-permissions %} -For example, if an organization owner has given all organization members read permissions to a {% data variables.projects.projects_v1_board %}, and a {% data variables.projects.projects_v1_board %} admin gives an organization member write permissions to that board as an individual collaborator, that person would have write permissions to the {% data variables.projects.projects_v1_board %}. +Por exemplo, se um proprietário da organização deu permissões de leitura a todos os integrantes da organização para um {% data variables.projects.projects_v1_board %}, e um administrador do {% data variables.projects.projects_v1_board %} conece a um integrante da organização permissões de gravação para esse quadro como colaborador individual, essa pessoa teria permissões de gravação no {% data variables.projects.projects_v1_board %}. -## {% data variables.projects.projects_v1_board_caps %} visibility +## visibilidade de {% data variables.projects.projects_v1_board_caps %} {% ifversion classic-project-visibility-permissions %}{% data reusables.projects.owners-can-limit-visibility-permissions %}{% endif %} -{% data reusables.project-management.project-board-visibility %} You can change the {% data variables.projects.projects_v1_board %}'s visibility from private to {% ifversion ghae %}internal{% else %}public{% endif %} and back again. For more information, see "[Changing {% data variables.product.prodname_project_v1 %} visibility](/articles/changing-project-board-visibility)." +{% data reusables.project-management.project-board-visibility %} Você pode alterar a visibilidade de {% data variables.projects.projects_v1_board %} de privada para {% ifversion ghae %}interna{% else %}{% endif %} e novamente para privada. Para obter mais informações, consulte "[Alterando a visibilidade de {% data variables.product.prodname_project_v1 %}](/articles/changing-project-board-visibility)". ## Leia mais -- "[Changing {% data variables.product.prodname_project_v1 %} visibility](/articles/changing-project-board-visibility)" -- "[Managing an individual’s access to an organization {% data variables.product.prodname_project_v1 %}](/articles/managing-an-individual-s-access-to-an-organization-project-board)" -- "[Managing team access to an organization {% data variables.product.prodname_project_v1 %}](/articles/managing-team-access-to-an-organization-project-board)" -- "[Managing access to a {% data variables.product.prodname_project_v1 %} for organization members](/articles/managing-access-to-a-project-board-for-organization-members)" +- "[Alterando a visibilidade de {% data variables.product.prodname_project_v1 %}](/articles/changing-project-board-visibility)" +- "[Gerenciando o acesso de um indivíduo a uma organização de {% data variables.product.prodname_project_v1 %}](/articles/managing-an-individual-s-access-to-an-organization-project-board)" +- "[Gerenciando o acesso de uma equipe a uma organização de {% data variables.product.prodname_project_v1 %}](/articles/managing-team-access-to-an-organization-project-board)" +- "[Gerenciando o acesso a um {% data variables.product.prodname_project_v1 %} para os integrantes da organização](/articles/managing-access-to-a-project-board-for-organization-members)". diff --git a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md index 0da2326542..6be4322435 100644 --- a/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md +++ b/translations/pt-BR/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md @@ -1,6 +1,6 @@ --- -title: 'Removing an outside collaborator from an organization {% data variables.product.prodname_project_v1 %}' -intro: 'As an organization owner or {% data variables.projects.projects_v1_board %} admin, you can remove an outside collaborator''s access to a {% data variables.projects.projects_v1_board %}.' +title: 'Removendo um colaborador externo de uma organização de {% data variables.product.prodname_project_v1 %}' +intro: 'Como proprietário da organização ou administrador de {% data variables.projects.projects_v1_board %}, você pode remover o acesso de um colaborador externo a um {% data variables.projects.projects_v1_board %}.' redirect_from: - /articles/removing-an-outside-collaborator-from-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/removing-an-outside-collaborator-from-an-organization-project-board @@ -21,7 +21,7 @@ allowTitleToDifferFromFilename: true {% data reusables.profile.access_org %} {% data reusables.user-settings.access_org %} {% data reusables.organizations.organization-wide-project %}{% ifversion projects-v2 %} -1. Click **Projects (classic)**{% endif %} +1. Clique em **Projetos (clássico)**{% endif %} {% data reusables.project-management.select-project %} {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} diff --git a/translations/pt-BR/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md b/translations/pt-BR/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md index 69bcc7db8f..c3fc79da7d 100644 --- a/translations/pt-BR/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md +++ b/translations/pt-BR/content/organizations/managing-organization-settings/allowing-project-visibility-changes-in-your-organization.md @@ -1,30 +1,30 @@ --- title: Permitindo alterações de visibilidade de projeto na sua organização -intro: 'Organization owners can allow members with admin permissions to adjust the visibility of {% data variables.projects.projects_v2_and_v1 %} in their organization.' +intro: 'Os proprietários da organização podem permitir que os integrantes com permissões de administrador ajustem a visibilidade de {% data variables.projects.projects_v2_and_v1 %} na sua organização.' versions: feature: classic-project-visibility-permissions-or-projects-v2 topics: - Organizations - Projects -shortTitle: Project visibility permissions +shortTitle: Permissões de visibilidade do projeto allowTitleToDifferFromFilename: true permissions: 'Organization owners can allow {% data variables.projects.project_v2_and_v1 %} visibility changes for an organization.' --- -You can restrict who has the ability to change the visibility of {% data variables.projects.projects_v2_and_v1 %} in your organization, such as restricting members from changing {% data variables.projects.projects_v2_and_v1 %} from private to public. +Você pode restringir quem tem a capacidade de alterar a visibilidade de {% data variables.projects.projects_v2_and_v1 %} na sua organização e impedir que os integrantes alterem {% data variables.projects.projects_v2_and_v1 %} de privado para público. -You can limit the ability to change {% data variables.projects.project_v2_and_v1 %} visibility to just organization owners, or you can allow anyone granted admin permissions to change the visibility. +Você pode limitar a capacidade de alterar a visibilidade de {% data variables.projects.project_v2_and_v1 %} para apenas os proprietários da organização ou você pode permitir que qualquer pessoa conceda permissões de administrador altere a visibilidade. {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -1. In the "Code, planning, and automation" section of the sidebar, click **{% octicon "table" aria-label="The table icon" %} Projects**. -1. To allow members to adjust project visibility, select **Allow members to change project visibilities for this organization**. ![Screenshot showing checkbox to set visibility changes](/assets/images/help/projects-v2/visibility-change-checkbox.png) +1. Na seção "código, planejamento e automação" na barra lateral, clique em **Projetos de {% octicon "table" aria-label="The table icon" %}**. +1. Para permitir que os integrantes ajustem a visibilidade do projeto, selecione **Permitir que os integrantes alterem a visibilidade do projeto para esta organização**. ![Captura de tela que mostra a caixa de seleção para definir alterações de visibilidade](/assets/images/help/projects-v2/visibility-change-checkbox.png) 1. Clique em **Salvar**. ## Leia mais {% ifversion projects-v2 %} -- "[Managing visibility of your {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects)" +- "[Gerenciando a visibilidade do seu {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/managing-your-project/managing-visibility-of-your-projects)" {%- endif %}{%- ifversion projects-v1 %} -- "[Changing {% data variables.product.prodname_project_v1 %} visibility](/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility)" +- "[Alterando a visibilidade de {% data variables.product.prodname_project_v1 %}](/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility)" {% endif %} diff --git a/translations/pt-BR/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md b/translations/pt-BR/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md index c3bb9cce0c..d448487bc0 100644 --- a/translations/pt-BR/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md +++ b/translations/pt-BR/content/organizations/managing-organization-settings/disabling-insights-for-projects-in-your-organization.md @@ -1,25 +1,25 @@ --- -title: 'Disabling insights for {% data variables.projects.projects_v2 %} in your organization' -intro: 'Organization owners can turn off insights for {% data variables.product.prodname_projects_v2 %} in their organization.' +title: 'Desabilitando insights para {% data variables.projects.projects_v2 %} na sua organização' +intro: 'Os proprietários da organização podem desativar informações sobre {% data variables.product.prodname_projects_v2 %} na sua organização.' versions: feature: projects-v2 product: '{% data reusables.gated-features.historical-insights-for-projects %}' topics: - Projects -shortTitle: 'Disable {% data variables.product.prodname_projects_v2 %} insights' +shortTitle: 'Desabilitar insights de {% data variables.product.prodname_projects_v2 %}' allowTitleToDifferFromFilename: true --- -After you disable insights for projects in your organization, it won't be possible to access insights for any projects owned by the organization. +Depois que você desabilitar insights para projetos na sua organização, não será possível acessar os insights para projetos pertencentes à organização. {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -1. In the sidebar, click **{% octicon "sliders" aria-label="The sliders icon" %} Features**. ![Screenshot showing features menu item](/assets/images/help/projects-v2/features-org-menu.png) -1. Under "Insights", deselect **Enable Insights for the organization**. ![Screenshot showing Enable Insights for the organization checkbox](/assets/images/help/projects-v2/disable-insights-checkbox.png) +1. Na barra lateral, clique em **Funcionalidades de {% octicon "sliders" aria-label="The sliders icon" %}**. ![Captura de tela que mostra o item de menu das funcionalidades](/assets/images/help/projects-v2/features-org-menu.png) +1. Em "Insights", desmarque **HabilitarInsights para a organização**. ![Captura de tela que mostra Habilitar Insights para a caixa de seleção da organização](/assets/images/help/projects-v2/disable-insights-checkbox.png) 1. Clique em **Salvar**. ![Captura de tela que mostra o botão salvar](/assets/images/help/projects-v2/disable-insights-save.png) ## Leia mais - "[Sobre o {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)" -- "[About insights for {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects)" +- "[Sobre insights para {% data variables.projects.projects_v2 %}](/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects)" diff --git a/translations/pt-BR/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md b/translations/pt-BR/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md index 0daad087c7..72a673238b 100644 --- a/translations/pt-BR/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md +++ b/translations/pt-BR/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md @@ -1,6 +1,6 @@ --- -title: 'Disabling {% ifversion projects-v2 %}projects{% else %}project boards{% endif %} in your organization' -intro: 'Organization owners can turn off {% ifversion projects-v2 %}organization-wide {% data variables.projects.projects_v2 %}, organization-wide {% data variables.projects.projects_v1_boards %}, and repository-level {% data variables.projects.projects_v1_boards %}{% else %}organization-wide project boards and repository project boards{% endif %} in an organization.' +title: 'Desabilitando {% ifversion projects-v2 %}projetos{% else %}quadros de projetos{% endif %} na sua organização' +intro: 'Os proprietários da organização podem desativar {% ifversion projects-v2 %}em toda a organização {% data variables.projects.projects_v2 %}, em toda a organização {% data variables.projects.projects_v1_boards %}, e o nível de repositório {% data variables.projects.projects_v1_boards %}{% else %}quadros de projetos e quadros de projetos de repositórios em toda a organização{% endif %} em uma organização.' redirect_from: - /github/managing-your-work-on-github/managing-project-boards/disabling-project-boards-in-your-organization - /articles/disabling-project-boards-in-your-organization @@ -12,11 +12,11 @@ versions: ghec: '*' topics: - Pull requests -shortTitle: Disable projects +shortTitle: Desabilitar projetos allowTitleToDifferFromFilename: true --- -Após a desabilitação dos quadros de projeto em toda a organização, não é mais possível criar quadros de projeto no nível da organização nem acessar os quadros de projeto no nível de organização já existentes pelas URLs anteriores. Os quadros de projeto em repositórios não são afetados. {% ifversion projects-v2 %}These settings apply to {% data variables.projects.projects_v2 %} and {% data variables.projects.projects_v1_boards %}.{% endif %} +Após a desabilitação dos quadros de projeto em toda a organização, não é mais possível criar quadros de projeto no nível da organização nem acessar os quadros de projeto no nível de organização já existentes pelas URLs anteriores. Os quadros de projeto em repositórios não são afetados. {% ifversion projects-v2 %}Estas configurações aplicam-se a {% data variables.projects.projects_v2 %} e {% data variables.projects.projects_v1_boards %}.{% endif %} Após a desabilitação dos quadros de projeto de repositório em uma organização, não é mais possível criar quadros de projeto em repositórios da organização nem acessar os quadros de projeto já existentes em repositórios da organização pelas URLs anteriores. Os quadros de projeto no nível da organização não são afetados. @@ -38,8 +38,8 @@ Quando você desabilita quadros de projeto, deixa de ver informações relaciona ## Leia mais -{% ifversion projects-v2 %}- "[About {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)"{% endif %} +{% ifversion projects-v2 %}- "[Sobre {% data variables.product.prodname_projects_v2 %}](/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)"{% endif %} - "[Sobre o {% data variables.product.prodname_projects_v1 %}](/articles/about-project-boards)" -- "[Closing a {% data variables.projects.projects_v1_board %}](/articles/closing-a-project-board)" -- "[Deleting a {% data variables.projects.projects_v1_board %}](/articles/deleting-a-project-board)" -- "[Disabling {% data variables.projects.projects_v1_boards %} in a repository](/articles/disabling-project-boards-in-a-repository)" +- "[Fechando um {% data variables.projects.projects_v1_board %}](/articles/closing-a-project-board)" +- "[Excluindo um {% data variables.projects.projects_v1_board %}](/articles/deleting-a-project-board)" +- "[Desabilitando {% data variables.projects.projects_v1_boards %} em um repositório](/articles/disabling-project-boards-in-a-repository)" diff --git a/translations/pt-BR/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md b/translations/pt-BR/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md index 902aa6d34b..cb8263d2da 100644 --- a/translations/pt-BR/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md +++ b/translations/pt-BR/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md @@ -1,6 +1,6 @@ --- title: Habilitando ou desabilitando as discussões no GitHub para uma organização -intro: 'Você pode usar o {% data variables.product.prodname_discussions %} em uma organização como um local para a sua organização ter conversas que não são específicas para um único repositório dentro da sua organização.' +intro: 'You can use {% data variables.product.prodname_discussions %} in an organization as a place for your organization to have conversations that aren''t specific to a single repository within your organization.' permissions: 'Organization owners can enable {% data variables.product.prodname_discussions %} for their organization.' versions: feature: discussions diff --git a/translations/pt-BR/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md b/translations/pt-BR/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md index c06c37a2a8..b4333ec865 100644 --- a/translations/pt-BR/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md +++ b/translations/pt-BR/content/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization.md @@ -1,25 +1,25 @@ --- title: Gerenciando a política de aprovação do commit para sua organização -intro: 'You can require users to automatically sign off all commits they make in {% data variables.product.product_name %}''s web interface to repositories owned by your organization.' +intro: 'Você pode exigir que os usuários assinem automaticamente todos os commits que criarem na interface web do {% data variables.product.product_name %} em repositórios pertencentes à sua organização.' versions: feature: commit-signoffs permissions: Organization owners can require all commits to repositories owned by the organization be signed off by the commit author. topics: - Organizations -shortTitle: Manage the commit signoff policy +shortTitle: Gerenciar a política de aprovação de commit --- -## About commit signoffs +## Sobre as autorizações de commit -To affirm that a commit complies with the rules and licensing governing a repository, many organizations require developers to sign off on every commit. If your organization requires commit signoffs, you can make signing off a seamless part of the commit process by enabling compulsory commit signoffs for users committing through {% data variables.product.product_name %}'s web interface. After you enable compulsory commit signoffs for an organization, every commit made to repositories in that organization through {% data variables.product.product_name %}'s web interface will automatically be signed off on by the commit author. +Para afirmar que um commit está de acordo com as regras e licenciamento de um repositório, muitas organizações exigem que os desenvolvedores assinem em todos os commits. Se sua organização requer assinaturas do commit, você pode tornar a assinatura de uma parte ininterrupta do processo de commit, permitindo a aprovação obrigatória de commits para os usuários que fizerem commit da interface web de {% data variables.product.product_name %}. Após habilitar as assinaturas de commit obrigatórias para uma organização, cada commit criado nos repositórios dessa organização por meio da interface web de {% data variables.product.product_name %} será automaticamente assinado pelo autor do commit. -People with admin access to a repository can also enable compulsory commit signoffs at the repository level. For more information, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." +Pessoas com acesso de administrador a um repositório também podem habilitar assinaturas de commit obrigatórias no nível de repositório. Para obter mais informações, consulte "[Gerenciando a política de assinatura de commit para o seu repositório](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)". {% data reusables.repositories.commit-signoffs %} -## Managing compulsory commit signoffs for your organization +## Gerenciando as assinaturas de commit obrigatórias para sua organização {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.repository-defaults %} -1. Select or deselect **Require contributors to sign off on web-based commits**. ![Screenshot of Require contributors to sign off on web-based commits](/assets/images/help/organizations/require-signoffs.png) +1. Selecione ou desmarque **Exigir que os colaboradores assinem em commits baseados na web**. ![Captura de tela dos contribuidores obrigatórios para assinar commits baseados na web](/assets/images/help/organizations/require-signoffs.png) diff --git a/translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md b/translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md index f12f0f2894..00c39b7439 100644 --- a/translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md +++ b/translations/pt-BR/content/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization.md @@ -92,10 +92,10 @@ Você só pode escolher uma permissão adicional se já não estiver incluída n - **Definir limites de interação**: Restrinja temporariamente certos usuários de comentários, problemas de abertura ou criação de pull requests no seu repositório público para aplicar um período de atividade limitada. Para obter mais informações, consulte "[Restringir interações no seu repositório](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)". {%- endif %} - **Defina a visualização social**: Adicione uma imagem de identificação ao repositório que aparece nas plataformas de mídia social quando seu repositório é vinculado. Para obter mais informações, consulte "[Personalizar a exibição das redes sociais do repositório](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview)". -- **Faça push commits para branches protegidos**: Faça push para um branch que é marcado como um branch protegido. Branch protection rules will still apply and could result in a push being rejected. +- **Faça push commits para branches protegidos**: Faça push para um branch que é marcado como um branch protegido. As regras de protecção dos branches continuarão sendo aplicadas e poderão resultar na rejeição de um "push". - **Crie etiquetas protegidas**: Crie etiquetas que correspondam a uma regra de proteção de tags. Para obter mais informações, consulte "[Configurando regras de proteção de tagsde](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules)". -- **Excluir tags protegidas**: Excluir tags que correspondam a uma regra de proteção de tags. For more information, see "[Configuring tag protection rules](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules)."{% ifversion bypass-branch-protections %} -- **Bypass branch protections**: Push to a protected branch without needing to comply with branch protection rules.{% endif %} +- **Excluir tags protegidas**: Excluir tags que correspondam a uma regra de proteção de tags. Para obter mais informações, consulte "[Configurando regras de proteção de tags](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules)".{% ifversion bypass-branch-protections %} +- **Proteções de branch de bypass**: Enviar por push para um ramo protegido sem ter de cumprir as regras de proteção de branch.{% endif %} ### Segurança diff --git a/translations/pt-BR/content/packages/index.md b/translations/pt-BR/content/packages/index.md index d18a8e456e..44f13ee989 100644 --- a/translations/pt-BR/content/packages/index.md +++ b/translations/pt-BR/content/packages/index.md @@ -18,6 +18,7 @@ featuredLinks: guideCards: - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' - '{% ifversion fpt or ghec or ghes > 3.4 %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion packages-npm-v2 %}/packages/working-with-a-github-packages-registry/working-with-the-npm-registry{% endif %}' - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry changelog: label: packages diff --git a/translations/pt-BR/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/translations/pt-BR/content/packages/learn-github-packages/about-permissions-for-github-packages.md index dfdb7479e2..f999a3d477 100644 --- a/translations/pt-BR/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/translations/pt-BR/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -18,20 +18,22 @@ As permissões para pacotes são do escopo do repositório ou do escopo de usuá Um pacote com escopo de repositório herda as permissões e visibilidade do repositório que possui o pacote. Você pode encontrar um escopo de pacote para um repositório, acessando a página principal do repositório e clicando no link **Pacotes** à direita da página. {% ifversion fpt or ghec %}Para obter mais informações, consulte "[Conectar um repositório a um pacote](/packages/learn-github-packages/connecting-a-repository-to-a-package)."{% endif %} -Os {% data variables.product.prodname_registry %} registros abaixo usam permissões com escopo do repositório: +Os registros de {% data variables.product.prodname_registry %} abaixo de **apenas** usam permissões com escopo do repositório: {% ifversion not fpt or ghec %}- Docker registry (`docker.pkg.github.com`){% endif %} - - Registro de npm + {% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - Registro do Rubygems - Registro do Apache Maven - Registro do NuGet +{% ifversion packages-npm-v2 %}Para {% data variables.product.prodname_ghcr_and_npm_registry %}, você pode optar por permitir que os pacotes tenham o escopo definido para um usuário, uma organização ou vinculados a um repositório.{% endif %} + {% ifversion fpt or ghec %} ## Permissões granulares para pacotes com escopo de usuário/organização Pacotes com permissões granulares são escopos para uma conta de usuário pessoal ou de organização. Você pode alterar o controle de acesso e a visibilidade do pacote separadamente de um repositório que está conectado (ou vinculado) a um pacote. -Atualmente, apenas o {% data variables.product.prodname_container_registry %} oferece permissões granulares para os seus pacotes de imagem de contêiner. +Atualmente, o {% data variables.product.prodname_ghcr_and_npm_registry %} oferece permissões granulares para seus pacotes de imagens de contêiner. ## Visibilidade e permissões de acesso para imagens de contêiner diff --git a/translations/pt-BR/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/translations/pt-BR/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md index 0050aa82d7..b8da0d51e5 100644 --- a/translations/pt-BR/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md +++ b/translations/pt-BR/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -16,7 +16,7 @@ shortTitle: Controle de acesso & visibilidade Pacotes com permissões granulares são escopos para uma conta de usuário pessoal ou de organização. Você pode alterar o controle de acesso e a visibilidade de um pacote separadamente do repositório ao qual ele está conectado (ou vinculado). -Atualmente, você só pode usar permissões granulares com o {% data variables.product.prodname_container_registry %}. Granular permissions are not supported in our other package registries, such as the npm registry.{% ifversion docker-ghcr-enterprise-migration %} For more information about migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)."{% endif %} +Atualmente, você só pode usar permissões granulares com o {% data variables.product.prodname_ghcr_and_npm_registry %}. As oermissões granulares não são compatíveis com os nossos registros de pacotes, como o registro do RubyGems.{% ifversion docker-ghcr-enterprise-migration %} Para mais informações sobre a migração para o {% data variables.product.prodname_container_registry %}, consulte "[Migrando para o {% data variables.product.prodname_container_registry %} do registro Docker](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry).{% endif %} Para obter mais informações sobre permissões para pacotes com escopo de repositório, escopos relacionados aos pacotes para PATs, ou gerenciar permissões para seus fluxos de trabalho de ações, consulte "[Sobre permissões para os Pacotes GitHub](/packages/learn-github-packages/about-permissions-for-github-packages)". @@ -95,7 +95,7 @@ Para personalizar ainda mais o acesso à sua imagem de contêiner, consulte "[Co {% ifversion fpt or ghec %} ## Assegurando acesso de {% data variables.product.prodname_codespaces %} ao seu pacote -Por padrão, um codespace pode acessar perfeitamente certos pacotes no Registro Contêiner de{% data variables.product.prodname_dotcom %} como, por exemplo, aqueles publicados no mesmo repositório com a opção **herdar acesso** selecionada. Para obter mais informações sobre o qual o acesso é automaticamente configurado, consulte "[Acessando imagens armazenadas no registro de contêiner de {% data variables.product.prodname_dotcom %}](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-github-container-registry)". +Por padrão, um codespac pode acessar perfeitamente certos pacotes em {% data variables.product.prodname_ghcr_and_npm_registry %}, como aqueles publicados no mesmo repositório com a opção **Herdar acesso** selecionada. Para obter mais informações sobre as quais o acesso é configurado automaticamente, consulte "[Permitindo que o seu codespace acesse um registro de imagens privadas](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-container-registry-and-npm-registry)". Caso contrário, para garantir que um código tenha acesso ao seu pacote, você deverá conceder acesso ao repositório onde o codespace está sendo iniciado. diff --git a/translations/pt-BR/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/translations/pt-BR/content/packages/learn-github-packages/deleting-and-restoring-a-package.md index 80123fc3a0..02ae35eeec 100644 --- a/translations/pt-BR/content/packages/learn-github-packages/deleting-and-restoring-a-package.md +++ b/translations/pt-BR/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -23,12 +23,12 @@ Em {% data variables.product.prodname_dotcom %} se você tiver o acesso necessá - um pacote privado inteiro - um pacote público inteiro, se não houver mais de 5000 downloads de qualquer versão do pacote - uma versão específica de um pacote privado -- uma versão específica de um pacote público, se a versão do pacote não tiver mais de 5000 downloads +- uma versão específica de um pacote público, se a versão do pacote não tiver mais de 5,000 downloads {% note %} **Observação:** -- Você não pode excluir um pacote público se uma versão do pacote tiver mais de 5000 downloads. Neste caso, entre em contato com o [suporte do GitHub](https://support.github.com/contact?tags=docs-packages) para obter mais assistência. +- Você não pode excluir um pacote público se uma versão do pacote tiver mais de 5,000 downloads. Neste caso, entre em contato com o [suporte do GitHub](https://support.github.com/contact?tags=docs-packages) para obter mais assistência. - Ao excluir pacotes públicos, esteja ciente de que você pode quebrar projetos que dependem do seu pacote. {% endnote %} @@ -46,7 +46,7 @@ Você pode usar a API REST para gerenciar seus pacotes. Para obter mais informa {% endif %} -Para pacotes que herdam suas permissões e acesso dos repositórios, você pode usar o GraphQL para excluir uma versão específica de pacotes.{% ifversion fpt or ghec %} A API do GraphQL de {% data variables.product.prodname_registry %} não é compatível com contêineres ou imagens Docker que usam o namespace `https://ghcr. o/OWNER/PACKAGE-NAME`.{% endif %} Para obter mais informações sobre o suporte do GraphQL, consulte "[Excluindo uma versão de um pacote com escopo de repositório com o GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)". +Para pacotes que herdam suas permissões e acesso dos repositórios, você pode usar o GraphQL para excluir uma versão específica de pacotes.{% data reusables.package_registry.no-graphql-to-delete-packages %} Para obter mais informações sobre o suporte do GraphQL, consulte "[Excluindo uma versão de um pacote com escopo de repositório com GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)". {% endif %} @@ -54,17 +54,19 @@ Para pacotes que herdam suas permissões e acesso dos repositórios, você pode Para pacotes que herdam as permissões de acesso dos repositórios, é possível excluir um pacote se você tiver permissões de administrador para o repositório. -Os pacotes com escopo de repositório em {% data variables.product.prodname_registry %} incluem estes pacotes: -- npm -- RubyGems -- maven -- Gradle -- NuGet -{% ifversion not fpt or ghec %}- Imagens do Docker em `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} +Os registros de {% data variables.product.prodname_registry %} abaixo de **apenas** usam permissões com escopo do repositório: + + {% ifversion not fpt or ghec %}- Imagens do Docker em `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm{% endif %} + - Registro do Rubygems + - Registro do Apache Maven + - Registro do NuGet + +{% ifversion packages-npm-v2 %}Para {% data variables.product.prodname_ghcr_and_npm_registry %}, você pode optar por permitir que os pacotes tenham o escopo definido para um usuário, uma organização ou vinculados a um repositório.{% endif %} {% ifversion fpt or ghec %} -Para excluir um pacote que tem permissões granulares separadas de um repositório, como imagens de contêiner armazenadas em `https://ghcr.io/OWNER/PACKAGE-NAME`, você deverá ter acesso de administrador ao pacote. Para obter mais informações, consulte "[Sobre permissões para {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)". +Para excluir um pacote que tem permissões granulares separadas de um repositório, como imagens de contêiner armazenadas em `https://ghcr. o/OWNER/PACKAGE-NAME` ou `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`, você deve ter acesso de administrador ao pacote. Para obter mais informações, consulte "[Sobre permissões para {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)". {% endif %} @@ -86,11 +88,9 @@ Para excluir uma versão de um pacote com escopo do repositório, você deve ter Para pacotes que herdam suas permissões e acesso dos repositórios, você pode usar o GraphQL para excluir uma versão específica de pacotes. -{% ifversion fpt or ghec %} -Para contêineres ou imagens do Docker em `ghcr.io`, o GraphQL não é compatível, mas você pode usar a API REST. Para obter mais informações, consulte o "[API de {% data variables.product.prodname_registry %}](/rest/reference/packages)". -{% endif %} +{% data reusables.package_registry.no-graphql-to-delete-packages %}{% ifversion fpt or ghec %} Você pode usar a API REST. Para obter mais informações, consulte a "[API de {% data variables.product.prodname_registry %}](/rest/reference/packages)."{% endif %} -Use a mutação `deletePackageVersion` na API do GraphQL. Você deve usar um token com os escopos `read:packages`, `delete:packages` e `repo`. For more information about tokens, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#about-tokens)." +Use a mutação `deletePackageVersion` na API do GraphQL. Você deve usar um token com os escopos `read:packages`, `delete:packages` e `repo`. Para obter mais informações sobre tokens, consulte "[Sobre {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." O exemplo a seguir demonstra como excluir uma versão do pacote, usando um `packageVersionId` de `MDIyOlJlZ2lzdHJ5UGFja2FnZVZlcnNpb243MTExNg`. diff --git a/translations/pt-BR/content/packages/learn-github-packages/introduction-to-github-packages.md b/translations/pt-BR/content/packages/learn-github-packages/introduction-to-github-packages.md index fc5090006e..5450ffcff9 100644 --- a/translations/pt-BR/content/packages/learn-github-packages/introduction-to-github-packages.md +++ b/translations/pt-BR/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -51,7 +51,7 @@ For more information about the configuration of {% data variables.product.prodna | | | |--------------------|--------------------| -| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | | Visibility | {% data reusables.package_registry.public-or-private-packages %} | For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." @@ -101,7 +101,9 @@ For more information about Docker and the {% data variables.product.prodname_con ## Managing packages {% ifversion fpt or ghec %} -You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." +You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% data reusables.package_registry.no-graphql-to-delete-packages %} {% endif %} {% ifversion ghes %} @@ -112,7 +114,9 @@ You can delete a private or public package in the {% data variables.product.prod You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. + +For more information, see {% ifversion ghes or ghae %}"[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and {% endif %}"[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." diff --git a/translations/pt-BR/content/packages/learn-github-packages/viewing-packages.md b/translations/pt-BR/content/packages/learn-github-packages/viewing-packages.md index 845f2eb3f8..ef4a284eca 100644 --- a/translations/pt-BR/content/packages/learn-github-packages/viewing-packages.md +++ b/translations/pt-BR/content/packages/learn-github-packages/viewing-packages.md @@ -23,15 +23,15 @@ versions: A sua capacidade de visualizar um pacote depende de vários fatores. Por padrão, você pode visualizar todos os pacotes que você publicou. -Pacotes com escopo de repositórios herdam suas permissões e visibilidade do repositório que possui o pacote. Os registros abaixo usam este tipo de permissões:{% ifversion not fpt or ghec %} +Pacotes com escopo de repositórios herdam suas permissões e visibilidade do repositório que possui o pacote. Os registros abaixo **apenas** usam este tipo de permissões:{% ifversion not fpt or ghec %} - Registro Docker (`docker.pkg.github.com`){% endif %} -- Registro de npm +{% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - Registro do Rubygems - Registro do Apache Maven - Registro do NuGet {% ifversion fpt or ghec %} -O registro do contêiner oferece a opção de permissões e configurações de visibilidade granulares que podem ser personalizadas para cada pacote de propriedade de um usuário pessoal ou de uma conta de organização. Você pode optar por usar permissões granulares ou conectar o pacote a um repositório e herdar suas permissões. Para obter mais informações, consulte "[Conectar um repositório a um pacote](/packages/learn-github-packages/connecting-a-repository-to-a-package)". +O {% data variables.product.prodname_ghcr_and_npm_registry %} oferece a opção de permissões e configurações de visibilidade granulares que podem ser personalizadas para cada pacote de propriedade de uma conta pessoal ou da conta de uma organização. Você pode optar por usar permissões granulares ou conectar o pacote a um repositório e herdar suas permissões. Para obter mais informações, consulte "[Conectar um repositório a um pacote](/packages/learn-github-packages/connecting-a-repository-to-a-package)". {% endif %} Para obter mais informações consulte "[Sobre permissões para o GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages){% ifversion fpt or ghec %}" e[Configurando controle de acesso e visibilidade de um pacote](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility){% endif %}." diff --git a/translations/pt-BR/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/translations/pt-BR/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md index f5ee768345..7f62a92fb0 100644 --- a/translations/pt-BR/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md +++ b/translations/pt-BR/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -24,9 +24,9 @@ shortTitle: Publicar & instalar com ações Você pode estender os recursos de CI e CD do seu repositório publicando ou instalando pacotes como parte do seu fluxo de trabalho. {% ifversion fpt or ghec %} -### Efetuar a autenticação no {% data variables.product.prodname_container_registry %} +### Efetuar a autenticação no {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} {% endif %} @@ -40,7 +40,7 @@ Você pode fazer referência ao `GITHUB_TOKEN` no seu arquivo de fluxo de trabal {% note %} -**Observação:** Os pacotes que possuem repositórios incluem RubyGems, npm, Apache Maven, NuGet, {% ifversion fpt or ghec %}e Gradle. {% else %}Os pacotes do Gradle e Docker que usam o pacote namespace `docker.pkg.github.com`.{% endif %} +**Observação:** Alguns registros, como RubyGems, {% ifversion packages-npm-v2 %}{% else %}npm, {% endif %}Apache Maven, NuGet, {% ifversion fpt or ghec %}e Gradle{% else %}Gradle e pacotes Docker que usam o namespace `docker.pkg.github.com`{% endif %}, só permitem pacotes propriedade de repositório. Com {% data variables.product.prodname_ghcr_and_npm_registry_full %} você pode optar por permitir que os pacotes sejam propriedade de um usuário, organização ou vinculados a um repositório. {% endnote %} @@ -49,11 +49,11 @@ Quando você habilita o GitHub Actions, o GitHub instala um aplicativo GitHub no {% data variables.product.prodname_registry %} permite que você faça push e pull de pacotes por meio do `GITHUB_TOKEN` disponível para um fluxo de trabalho de {% data variables.product.prodname_actions %}. {% ifversion fpt or ghec %} -## Sobre permissões e acesso de pacote para {% data variables.product.prodname_container_registry %} +## Sobre permissões e acesso de pacote para {% data variables.product.prodname_ghcr_and_npm_registry %} -O {% data variables.product.prodname_container_registry %} (`ghcr.io`) permite aos usuários criar e administrar contêineres como recursos independentes no nível da organização. Os contêineres podem pertencer a uma conta pessoal ou organização e você pode personalizar o acesso a cada um dos seus contêineres separadamente das permissões de repositório. +O {% data variables.product.prodname_ghcr_and_npm_registry_full %} permite aos usuários criar e administrar pacotes como recursos independentes no nível da organização. Os pacotes podem pertencer a uma conta organizacional ou pessoal e você pode personalizar o acesso a cada um dos seus pacotes separadamente das permissões de repositório. -Todos os workflows que acessam o {% data variables.product.prodname_container_registry %} devem usar o `GITHUB_TOKEN` em vez de um token de acesso pessoal. Para obter mais informações sobre as melhores práticas de segurança, consulte "[Enrijecimento de segurança para o GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)". +Todos os workflows que acessam o {% data variables.product.prodname_ghcr_and_npm_registry %} devem usar o `GITHUB_TOKEN` em vez de um token de acesso pessoal. Para obter mais informações sobre as melhores práticas de segurança, consulte "[Enrijecimento de segurança para o GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)". ## Configurações padrão de permissões e acesso para contêineres modificados por meio de fluxos de trabalho @@ -484,9 +484,9 @@ A instalação de pacotes hospedados pelo {% data variables.product.prodname_reg {% data reusables.package_registry.actions-configuration %} {% ifversion fpt or ghec %} -## Atualizando um fluxo de trabalho que acessa `ghcr.io` +## Atualizando um fluxo de trabalho que acessa um registro usando um PAT -O {% data variables.product.prodname_container_registry %} é compatível com `GITHUB_TOKEN` para autenticação fácil e segura nos seus fluxos de trabalho. Se seu fluxo de trabalho estiver usando um token de acesso pessoal (PAT) para efetuar a autenticação com `ghcr.io`, é altamente recomendável atualizar o seu fluxo de trabalho para usar o `GITHUB_TOKEN`. +O {% data variables.product.prodname_ghcr_and_npm_registry %} é compatível com `GITHUB_TOKEN` para autenticação fácil e segura nos seus fluxos de trabalho. Se seu fluxo de trabalho estiver usando um token de acesso pessoal (PAT) para efetuar a autenticação no registro, é altamente recomendável atualizar o seu fluxo de trabalho para usar o `GITHUB_TOKEN`. Para obter mais informações sobre o `GITHUB_TOKEN`, consulte "[Autenticação em um fluxo de trabalho](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)". @@ -501,9 +501,9 @@ O uso do `GITHUB_TOKEN` em vez de um PAT, que inclui o escopo do `repositório` {% endnote %} 1. Opcionalmente, usando o menu suspenso "função", selecione o nível de acesso padrão que você gostaria que o repositório tivesse na imagem do seu contêiner. ![Níveis de acesso permitidos para repositórios](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) -1. Abra o arquivo do seu fluxo de trabalho. Na linha em que você efetua o login em `ghcr.io`, substitua seu PAT por {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. +1. Abra o arquivo do seu fluxo de trabalho. Na linha em que você fez login no registro, substitua o seu PAT por {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. -Por exemplo, este fluxo de trabalho publica um imagem do Docker usando {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} para efetuar a autenticação. +Por exemplo, este fluxo de trabalho publica uma imagem Docker para {% data variables.product.prodname_container_registry %} e usa {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} para efetuar a autenticação. ```yaml{:copy} name: Demo Push diff --git a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md index 44177e2e46..e8cb93cd54 100644 --- a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md +++ b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md @@ -1,6 +1,6 @@ --- title: Fazendo a migração para o Registro do Contêiner a partir do Registro Docker -intro: '{% ifversion docker-ghcr-enterprise-migration %}An enterprise owner can{% else %}{% data variables.product.company_short %} will{% endif %} migrate Docker images previously stored in the Docker registry on {% data variables.product.product_location %} to the {% data variables.product.prodname_container_registry %}.' +intro: '{% ifversion docker-ghcr-enterprise-migration %}O proprietário de uma empresa pode{% else %}{% data variables.product.company_short %} irá{% endif %} migrar imagens do Docker previamente armazenadas no registro do Docker em {% data variables.product.product_location %} para o {% data variables.product.prodname_container_registry %}.' product: '{% data reusables.gated-features.packages %}' redirect_from: - /packages/getting-started-with-github-container-registry/migrating-to-github-container-registry-for-docker-images @@ -25,26 +25,26 @@ topics: ## Sobre a migração do registro do Docker -{% data reusables.package_registry.container-registry-replaces-docker-registry %} If you've stored Docker images in the Docker registry, {% ifversion docker-ghcr-enterprise-migration %}an enterprise owner{% else %}{% data variables.product.company_short %}{% endif %} will gradually migrate the images to the {% data variables.product.prodname_container_registry %}. No action is required on your part. +{% data reusables.package_registry.container-registry-replaces-docker-registry %} Se você armazenou imagens do Docker no registro do Docker, {% ifversion docker-ghcr-enterprise-migration %} o proprietário de uma empresa{% else %}{% data variables.product.company_short %}{% endif %} irá transferir gradualmente as imagens para o {% data variables.product.prodname_container_registry %}. Nenhuma ação é necessária de sua parte. {% ifversion docker-ghcr-enterprise-migration %} {% note %} -**Note**: {% data reusables.package_registry.container-registry-ghes-migration-availability %} For more information about finding the version of {% data variables.product.product_name %} that you use, see "[About versions of {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)." +**Observação**: {% data reusables.package_registry.container-registry-ghes-migration-availability %} Para mais informações sobre como encontrar a versão de {% data variables.product.product_name %} que você usa, consulte "[Sobre as versões de {% data variables.product.prodname_docs %}](/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server)". {% endnote %} {% endif %} -After a Docker image has been migrated to the {% data variables.product.prodname_container_registry %}, you'll see the following changes to the details for the package. +Depois que a imagem de um Docker foi transferida para {% data variables.product.prodname_container_registry %}, você verá as seguintes alterações nos detalhes do pacote. -- The icon will be the {% data variables.product.prodname_container_registry %} logo instead of the Docker logo. -- The domain in the pull URL will be {% data variables.product.prodname_container_registry_namespace %} instead of {% data variables.product.prodname_docker_registry_namespace %}. +- O ícone será o logotipo de {% data variables.product.prodname_container_registry %} ao invés do logo do Docker. +- O domínio na URL do pull será {% data variables.product.prodname_container_registry_namespace %} em vez de {% data variables.product.prodname_docker_registry_namespace %}. {% ifversion fpt or ghec %} -![Screenshot of a Docker image migrated to the {% data variables.product.prodname_container_registry %}](/assets/images/help/package-registry/container-registry-details-page.png) +![Captura de tela de uma imagem do Docker transferida para {% data variables.product.prodname_container_registry %}](/assets/images/help/package-registry/container-registry-details-page.png) {% endif %} @@ -52,11 +52,11 @@ After a Docker image has been migrated to the {% data variables.product.prodname {% ifversion fpt or ghec %} -After migration, you'll no longer be able to use the GraphQL API to query for packages with a `PackageType` of "DOCKER". Instead, you can use the REST API to query for packages with a `package_type` of "container". For more information, see "[Packages](/rest/reference/packages)" in the REST API documentation. +Após a migração, você não poderá mais usar o API do GraphQL para consultar pacotes com um `tipo de pacote` do "DOCKER". Em vez disso, você pode usar a API REST para consultar pacotes com um `package_type` de "contêiner". Para obter mais informações, consulte "[Pacotes](/rest/reference/packages)" na documentação da API REST. ## Sobre a cobrança do {% data variables.product.prodname_container_registry %} -For more information about billing for the {% data variables.product.prodname_container_registry %}, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." +Para obter mais informações sobre a cobrança para o {% data variables.product.prodname_container_registry %}, consulte "[Sobre a cobrança para {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages). {% endif %} @@ -64,6 +64,6 @@ For more information about billing for the {% data variables.product.prodname_co ## Leia mais -- "[Migrating your enterprise to the {% data variables.product.prodname_container_registry %} from the Docker registry](/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry)" +- "[Fazendo a migração da sua empresa para {% data variables.product.prodname_container_registry %} do registro Docker](/admin/packages/migrating-your-enterprise-to-the-container-registry-from-the-docker-registry)" {% endif %} diff --git a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md index 3e8c702bbd..d9cf56e750 100644 --- a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md +++ b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -27,7 +27,7 @@ shortTitle: Container registry {% ifversion ghes > 3.4 %} -To use the {% data variables.product.prodname_container_registry %} on {% data variables.product.product_name %}, your site administrator must first configure {% data variables.product.prodname_registry %} for your instance **and** enable subdomain isolation. Para obter mais informações, consulte "[Primeiros passos com o GitHub Packages para sua empresa](/admin/packages/getting-started-with-github-packages-for-your-enterprise)" e "[Habilitando o isolamento do subdomínio](/admin/configuration/configuring-network-settings/enabling-subdomain-isolation)". +Para usar o {% data variables.product.prodname_container_registry %} em {% data variables.product.product_name %}, o administrador do site deve primeiro configurar {% data variables.product.prodname_registry %} para sua instância **e** habilitar o isolamento do subdomínio. Para obter mais informações, consulte "[Primeiros passos com o GitHub Packages para sua empresa](/admin/packages/getting-started-with-github-packages-for-your-enterprise)" e "[Habilitando o isolamento do subdomínio](/admin/configuration/configuring-network-settings/enabling-subdomain-isolation)". {% endif %} @@ -42,7 +42,9 @@ Ao instalar ou publicar uma imagem Docker, a {% data variables.product.prodname_ ## Efetuar a autenticação no {% data variables.product.prodname_container_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% ifversion fpt or ghec or ghes > 3.4 %} +Para efetuar a autenticação no {% data variables.product.prodname_container_registry %} (`ghcr.io`) dentro de um fluxo de trabalho de {% data variables.product.prodname_actions %}, use o `GITHUB_TOKEN` para uma melhor segurança e experiência. {% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} +{% endif %} {% ifversion ghes %}Certifique-se de substituir o `HOSTNAME` pelo nome do host {% data variables.product.product_location_enterprise %} ou endereço IP nos exemplos abaixo.{% endif %} diff --git a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 6714384e4d..8007cd2b6f 100644 --- a/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/translations/pt-BR/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -21,6 +21,8 @@ shortTitle: npm registry {% data reusables.package_registry.admins-can-configure-package-types %} +{% ifversion packages-npm-v2 %} +{% else %} ## Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. @@ -28,12 +30,17 @@ If you publish over 1,000 npm package versions to {% data variables.product.prod In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +{% endif %} ## Authenticating to {% data variables.product.prodname_registry %} {% data reusables.package_registry.authenticate-packages %} -{% data reusables.package_registry.authenticate-packages-github-token %} +{% ifversion packages-npm-v2 %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +You can also choose to give access permissions to packages independently for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_actions %}. For more information, see "[Ensuring Codespaces access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package) and [Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." +{% endif %} ### Authenticating with a personal access token @@ -94,12 +101,24 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} -By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. You can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. +{% ifversion packages-npm-v2 %} +The {% data variables.product.prodname_registry %} registry stores npm packages within your organization or personal account, and allows you to associate a package with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. +{% endif %} + +By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." +{% ifversion fpt or ghec %} +When a package is published, it isn't automatically linked to a repository. You can however choose to link your published package to a repository using the user interface or command line. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + You can set up the scope mapping for your project using either a local *.npmrc* file in the project or using the `publishConfig` option in the *package.json*. {% data variables.product.prodname_registry %} only supports scoped npm packages. Scoped packages have names with the format of `@owner/name`. Scoped packages always begin with an `@` symbol. You may need to update the name in your *package.json* to use the scoped name. For example, `"name": "@codertocat/hello-world-npm"`. +{% ifversion packages-npm-v2 %} +When you first publish a package, the default visibility is private. When a package is linked to repository, the package visibility is dependent on the repository's visibility. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." +{% endif %} + {% data reusables.package_registry.viewing-packages %} ### Publishing a package using a local *.npmrc* file diff --git a/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index 60b42b34a3..74f7f172d5 100644 --- a/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -40,13 +40,13 @@ O comando `dig`, que pode ser usado para verificar a configuração correta dos ## Configurando um subdomínio -To set up a `www` or custom subdomain, such as `www.example.com` or `blog.example.com`, you must add your domain in the repository settings. Em seguida, configure um registro CNAME com seu provedor DNS. +Para configurar um `www` ou um subdomínio personalizado como, por exemplo, `www.example.com` ou `blog.example.com`, você deve adicionar seu domínio nas configurações do repositório. Em seguida, configure um registro CNAME com seu provedor DNS. {% data reusables.pages.navigate-site-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} -4. Em "Domínio personalizado,", digite o seu domínio personalizado e clique em **Salvar**. If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." ![Botão Salvar domínio personalizado](/assets/images/help/pages/save-custom-subdomain.png) -5. Navegue até o provedor DNS e crie um registro `CNAME` que aponte seu subdomínio para o domínio padrão do seu site. Por exemplo, se você quiser usar o subdomínio `www.example.com` para seu site de usuário, crie um registro `CNAME` que aponte `www.example.com` para `.github.io`. Se você desejar usar o subdomínio `www.anotherexample.com` no seu site da organização, crie um registro `CNAME` que aponte `www. notherexample.com` para `.github.io`. O registro `CNAME` sempre deve apontar para `.github.io` ou `.github.io`, excluindo o nome do repositório. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} +4. Em "Domínio personalizado,", digite o seu domínio personalizado e clique em **Salvar**. Se você estiver publicando seu site a partir de um branch, isso irá criar um commit que adiciona um arquivo `CNAME` à raiz do seu branch de origem. Se você publicar o seu site com um fluxo de trabalho de {% data variables.product.prodname_actions %} personalizado, não será criado nenhum arquivo `CNAME`. Para obter mais informações sobre a fonte de publicação, consulte "[Configurando uma fonte de publicação para o site do GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". ![Botão Salvar domínio personalizado](/assets/images/help/pages/save-custom-subdomain.png) +5. Navegue até o provedor DNS e crie um registro `CNAME` que aponte seu subdomínio para o domínio padrão do seu site. Por exemplo, se você quiser usar o subdomínio `www.example.com` para seu site de usuário, crie um registro `CNAME` que aponte `www.example.com` para `.github.io`. If you want to use the subdomain `another.example.com` for your organization site, create a `CNAME` record that points `another.example.com` to `.github.io`. O registro `CNAME` sempre deve apontar para `.github.io` ou `.github.io`, excluindo o nome do repositório. {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} {% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} {% data reusables.command_line.open_the_multi_os_terminal %} @@ -63,14 +63,14 @@ To set up a `www` or custom subdomain, such as `www.example.com` or `blog.exampl ## Configurando um domínio apex -To set up an apex domain, such as `example.com`, you must configure a custom domain in your repository settings and at least one `ALIAS`, `ANAME`, or `A` record with your DNS provider. +Para configurar um domínio apex, como o `example.com`, você deve configurar um domínio personalizado nas configurações do repositório e pelo menos um `ALIAS`, `ANAME` ou registro `A` com o seu provedor DNS. {% data reusables.pages.www-and-apex-domain-recommendation %} Para obter mais informações, consulte "[Configurar um subdomínio](#configuring-a-subdomain)". {% data reusables.pages.navigate-site-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} -4. Em "Domínio personalizado,", digite o seu domínio personalizado e clique em **Salvar**. If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." ![Botão Salvar domínio personalizado](/assets/images/help/pages/save-custom-apex-domain.png) +4. Em "Domínio personalizado,", digite o seu domínio personalizado e clique em **Salvar**. Se você estiver publicando seu site a partir de um branch, isso irá criar um commit que adiciona um arquivo `CNAME` à raiz do seu branch de origem. Se você publicar o seu site com um fluxo de trabalho de {% data variables.product.prodname_actions %} personalizado, não será criado nenhum arquivo `CNAME`. Para obter mais informações sobre a fonte de publicação, consulte "[Configurando uma fonte de publicação para o site do GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". ![Botão Salvar domínio personalizado](/assets/images/help/pages/save-custom-apex-domain.png) 5. Navegue até o provedor DNS e crie um registro `ALIAS`, `ANAME` ou `A`. Você também pode criar registros de `AAAA` para suporte ao IPv6. {% data reusables.pages.contact-dns-provider %} - Para criar um registro `ALIAS` ou `ANAME`, aponte o domínio apex para o domínio padrão do seu site. {% data reusables.pages.default-domain-information %} - Para criar registros `A`, aponte seu domínio apex para os endereços IP para {% data variables.product.prodname_pages %}. diff --git a/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md b/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md index f0b17a4def..4e7dbc2af1 100644 --- a/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md +++ b/translations/pt-BR/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md @@ -18,9 +18,9 @@ shortTitle: Solucione o problema de um domínio personalizado ## Erros _CNAME_ -{% ifversion pages-custom-workflow %}If you are publishing from a custom {% data variables.product.prodname_actions %} workflow, any _CNAME_ file is ignored and is not required.{% endif %} +{% ifversion pages-custom-workflow %}Se você publicando a partir de um fluxo de trabalho de {% data variables.product.prodname_actions %} personalizado, qualquer arquivo _CNAME_ será ignorado e não não será obrigatório.{% endif %} -If you are publishing from a branch, custom domains are stored in a _CNAME_ file in the root of your publishing source. que pode ser adicionado ou atualizado manualmente ou por meio das configurações do repositório. Para obter mais informações, consulte "[Gerenciar um domínio personalizado para seu site do {% data variables.product.prodname_pages %}](/articles/managing-a-custom-domain-for-your-github-pages-site)". +Se você estiver publicando a partir de um branch, os domínios personalizados serão armazenados em um arquivo _CNAME_ na raiz da fonte de publicação. que pode ser adicionado ou atualizado manualmente ou por meio das configurações do repositório. Para obter mais informações, consulte "[Gerenciar um domínio personalizado para seu site do {% data variables.product.prodname_pages %}](/articles/managing-a-custom-domain-for-your-github-pages-site)". Para que o site seja renderizado no domínio correto, verifique se o arquivo _CNAME_ ainda existe no repositório. Por exemplo, muitos geradores de site estáticos fazem push forçado para o repositório, o que pode substituir o arquivo _CNAME_ que foi adicionado ao repositório quando você configurou o domínio personalizado. Se você criar o site localmente e fizer push dos arquivos gerados para o {% data variables.product.product_name %}, primeiro insira o commit que adicionou o arquivo _CNAME_ ao repositório local, para que o arquivo seja incluído na criação. diff --git a/translations/pt-BR/content/pages/getting-started-with-github-pages/about-github-pages.md b/translations/pt-BR/content/pages/getting-started-with-github-pages/about-github-pages.md index 74e75dee5d..ec3d264fe7 100644 --- a/translations/pt-BR/content/pages/getting-started-with-github-pages/about-github-pages.md +++ b/translations/pt-BR/content/pages/getting-started-with-github-pages/about-github-pages.md @@ -1,6 +1,6 @@ --- title: Sobre o GitHub Pages -intro: 'Você pode usar {% data variables.product.prodname_pages %} para hospedar um site sobre você, sua organização, ou seu projeto diretamente a partir de um repositório em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}.' +intro: 'Você pode usar {% data variables.product.prodname_pages %} para hospedar um site sobre você, sua organização, ou seu projeto diretamente a partir de um repositório no {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}.' redirect_from: - /articles/what-are-github-pages - /articles/what-is-github-pages @@ -75,7 +75,7 @@ Para obter mais informações, consulte "[Habilitar isolamento de subdomínio](/ {% data reusables.pages.pages-about-publishing-source %} -For more information, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." +Para obter mais informações, consulte "[Configurando uma fonte de publicação para o site do GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". {% ifversion ghec %} ## Limitações para {% data variables.product.prodname_emus %} @@ -93,9 +93,9 @@ O {% data variables.product.prodname_pages %} publica qualquer arquivo estático {% ifversion pages-custom-workflow %} -If you use a custom build process or a static site generator other than Jekyll, you can write a {% data variables.product.prodname_actions %} to build and publish your site. {% data variables.product.product_name %} provides starter workflows for several static site generators. For more information, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." +Se você usar um processo de compilação personalizado ou um gerador de site estático diferente do Jekyll, você poderá escrever um {% data variables.product.prodname_actions %} para criar e publicar seu site. O {% data variables.product.product_name %} fornece fluxos de trabalho iniciais para vários geradores de site estáticos. Para obter mais informações, consulte "[Configurando uma fonte de publicação para o site do GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". -If you publish your site from a source branch, {% data variables.product.prodname_pages %} will use Jekyll to build your site by default. If you want to use a static site generator other than Jekyll, we recommend that you write a {% data variables.product.prodname_actions %} to build and publish your site instead. Otherwise, disable the Jekyll build process by creating an empty file called `.nojekyll` in the root of your publishing source, then follow your static site generator's instructions to build your site locally. +Se você publicar seu site a partir de um branch fonte, o {% data variables.product.prodname_pages %} usará o Jekyll para criar seu site por padrão. Se quiser usar um gerador de site estático diferente do Jekyll, recomendamos que você escreva um {% data variables.product.prodname_actions %} para criar e publicar seu site. Caso contrário, desabilite o processo de compilação do Jekyll criando um arquivo vazio denominado `.nojekyll` na raiz da fonte de publicação e, em seguida, siga as instruções do gerador de site estático para criar seu site localmente. {% else %} @@ -125,8 +125,8 @@ Os sites do {% data variables.product.prodname_pages %} estão sujeitos ao segui - Os sites do {% data variables.product.prodname_pages %} publicados não podem ter mais de 1 GB. {% ifversion fpt or ghec %} - Sites de {% data variables.product.prodname_pages %} têm um limite de banda larga *flexível* de 100 GB por mês. - - {% data variables.product.prodname_pages %} sites have a *soft* limit of 10 builds per hour.{% ifversion pages-custom-workflow %} This limit does not apply if you build and publish your site with a custom {% data variables.product.prodname_actions %} workflow {% endif %} - - In order to provide consistent quality of service for all {% data variables.product.prodname_pages %} sites, rate limits may apply. These rate limits are not intended to interfere with legitimate uses of {% data variables.product.prodname_pages %}. If your request triggers rate limiting, you will receive an appropriate response with an HTTP status code of `429`, along with an informative HTML body. + - Os sites de {% data variables.product.prodname_pages %} têm um limite de *soft* de 10 compilações por hora.{% ifversion pages-custom-workflow %} Esse limite não se aplica se você criar e publicar seu site com um fluxo de trabalho personalizado de {% data variables.product.prodname_actions %} {% endif %} + - Para fornecer uma qualidade consistente de serviço para todos os sites de {% data variables.product.prodname_pages %}, é possível que se apliquem limites de taxa. Esses limites de taxa não são destinados a interferir nos usos legítimos de {% data variables.product.prodname_pages %}. Se o seu pedido acionar limites de taxa, você receberá uma resposta apropriada com um código de status HTTP de `429`, junto com um texto HTML informativo. Se o seu site exceder essas cotas de uso, talvez não possamos atender a ele ou você receba um e-mail formal do {% data variables.contact.contact_support %} sugerindo estratégias para reduzir o impacto do site em nossos servidores, como colocar uma rede de distribuição de conteúdo (CDN, Content Distribution Network) de terceiros na frente do site, usar outros recursos do {% data variables.product.prodname_dotcom %}, como versões, ou migrar para outro serviço de hospedagem que possa atender melhor às suas necessidades. diff --git a/translations/pt-BR/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md b/translations/pt-BR/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md index 5543fb7bdd..47ad696404 100644 --- a/translations/pt-BR/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md +++ b/translations/pt-BR/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md @@ -1,6 +1,6 @@ --- title: Configurar uma fonte de publicação para o site do GitHub Pages -intro: '{% ifversion pages-custom-workflow %}You can configure your {% data variables.product.prodname_pages %} site to publish when changes are pushed to a specific branch, or you can write a {% data variables.product.prodname_actions %} workflow to publish your site.{% else%}If you use the default publishing source for your {% data variables.product.prodname_pages %} site, your site will publish automatically. You can also choose to publish your site from a different branch or folder.{% endif %}' +intro: '{% ifversion pages-custom-workflow %}Você pode configurar seu site de {% data variables.product.prodname_pages %} para publicar quando as alterações são enviadas para um branch específico ou você pode escrever um fluxo de trabalho de {% data variables.product.prodname_actions %} para publicar seu site.{% else%}Se você usar a fonte de publicação padrão do seu site de {% data variables.product.prodname_pages %}, seu site será publicado automaticamente. Você também pode optar por publicar o seu site a partir de um branch ou uma pasta diferente.{% endif %}' redirect_from: - /articles/configuring-a-publishing-source-for-github-pages - /articles/configuring-a-publishing-source-for-your-github-pages-site @@ -17,21 +17,21 @@ topics: shortTitle: Configurar fonte de publicação --- -## About publishing sources +## Sobre as fontes de publicação {% data reusables.pages.pages-about-publishing-source %} {% data reusables.pages.private_pages_are_public_warning %} -## Publishing from a branch +## Publicando a partir de um branch -1. Make sure the branch you want to use as your publishing source already exists in your repository. +1. Certifique-se de que o branch que você deseja usar como fonte de publicação já existe no repositório. {% data reusables.pages.navigate-site-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} {% ifversion pages-custom-workflow %} -1. Under "Build and deployment", under "Source", select **Deploy from a branch**. -1. Under "Build and deployment", under "Branch", use the **None** or **Branch** drop-down menu and select a publishing source. +1. Em "Compilação e implantação", em "Fonte", selecione **Implantar a partir de um branch**. +1. Em "Compilação e implantação", em "Branch", use o menu suspenso **Nenhum** ou **Branch** e selecione uma fonte de publicação. ![Menu suspenso para selecionar uma fonte de publicação](/assets/images/help/pages/publishing-source-drop-down.png) {% else %} @@ -40,7 +40,7 @@ shortTitle: Configurar fonte de publicação 4. Opcionalmente, use o menu suspenso para selecionar uma pasta para sua fonte de publicação. ![Menu suspenso para selecionar uma pasta para a fonte de publicação](/assets/images/help/pages/publishing-source-folder-drop-down.png) 5. Clique em **Salvar**. ![Botão para salvar alterações nas configurações da fonte de publicação](/assets/images/help/pages/publishing-source-save.png) -### Troubleshooting publishing from a branch +### Solucionar problemas de publicação a partir de um branch {% data reusables.pages.admin-must-push %} @@ -56,42 +56,42 @@ Para encontrar possíveis erros com a compilação ou implantação, você pode {% ifversion pages-custom-workflow %} -## Publishing with a custom {% data variables.product.prodname_actions %} workflow +## Publicação com um fluxo de trabalho de {% data variables.product.prodname_actions %} personalizado {% data reusables.pages.pages-custom-workflow-beta %} -To configure your site to publish with {% data variables.product.prodname_actions %}: +Para configurar seu site para publicar com {% data variables.product.prodname_actions %}: {% data reusables.pages.navigate-site-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} -1. Under "Build and deployment", under "Source", select **GitHub Actions**. -1. {% data variables.product.product_name %} will suggest several starter workflows. If you already have a workflow to publish your site, you can skip this step. Otherwise, choose one of the options to create a {% data variables.product.prodname_actions %} workflow. For more information about creating your custom workflow, see "[Creating a custom {% data variables.product.prodname_actions %} workflow to publish your site](#creating-a-custom-github-actions-workflow-to-publish-your-site)." +1. Em "Compilação e implantação", em "Fonte", selecione **GitHub Actions**. +1. {% data variables.product.product_name %} irá sugerir vários fluxos de trabalho iniciais. Se você já tem um fluxo de trabalho para publicar o site, você pode pular esta etapa. Caso contrário, escolha uma das opções para criar um fluxo de trabalho de {% data variables.product.prodname_actions %}. Para obter mais informações sobre a criação de seu fluxo de trabalho personalizado, consulte "[Criando um fluxo de trabalho de {% data variables.product.prodname_actions %} personalizado para publicar seu site](#creating-a-custom-github-actions-workflow-to-publish-your-site)". - {% data variables.product.prodname_pages %} does not associate a specific workflow to the {% data variables.product.prodname_pages %} settings. However, the {% data variables.product.prodname_pages %} settings will link to the workflow run that most recently deployed your site. + {% data variables.product.prodname_pages %} não associa um fluxo de trabalho específico às configurações de {% data variables.product.prodname_pages %}. No entanto, as configurações do {% data variables.product.prodname_pages %} serão ligadas à execução do fluxo de trabalho que o seu site implantou mais recentemente. -### Creating a custom {% data variables.product.prodname_actions %} workflow to publish your site +### Criar um fluxo de trabalhode {% data variables.product.prodname_actions %} personalizado para publicar seu site -For more information about {% data variables.product.prodname_actions %}, see "[Actions](/actions)." +Para obter mais informações sobre {% data variables.product.prodname_actions %}, consulte "[Actions](/actions)." -When you configure your site to publish with {% data variables.product.prodname_actions %}, {% data variables.product.product_name %} will suggest starter workflows for common publishing scenarios. The general flow of a workflow is to: +Ao configurar seu site para publicar com {% data variables.product.prodname_actions %}, {% data variables.product.product_name %} irá sugerir fluxos de trabalho iniciantes para cenários de publicação comuns. O fluxo de trabalho geral é: -1. Trigger whenever there is a push to the default branch of the repository or whenever a pull request that targets the default branch is opened, reopened, or updated. -1. Use the [`actions/checkout`](https://github.com/actions/checkout) action to check out the repository contents. -1. If required by your site, build any static site files. -1. Use the [`actions/upload-pages-artifact`](https://github.com/actions/upload-pages-artifact) action to upload the static files as an artifact. -1. If the workflow was triggered by a push to the default branch, use the [`actions/deploy-pages`](https://github.com/actions/deploy-pages) action to deploy the artifact. This step is skipped if the workflow was triggered by a pull request. +1. Acionar sempre que houver um push para o branch padrão do repositório ou sempre que um pull request que apontar para o branch padrão for aberto, reaberto ou atualizado. +1. Use a ação [`ações/checkout`](https://github.com/actions/checkout) para conferir o conteúdo do repositório. +1. Se o seu site exigir, crie qualquer arquivo de site estático. +1. Use a ação [`actions/upload-pages-artifact`](https://github.com/actions/upload-pages-artifact) para fazer upload dos arquivos estáticos como um artefato. +1. Se o fluxo de trabalho foi acionado por um push para o branch padrão, use a ação [`actions/deploy-pages`](https://github.com/actions/deploy-pages) para implantar o artefato. Esta etapa é ignorada se o fluxo de trabalho foi acionado por um pull request. -The starter workflows use a deployment environment called `github-pages`. If your repository does not already include an environment called `github-pages`, the environment will be created automatically. We recommend that you add an environment protection rule so that only the default branch can deploy to this environment. Para obter mais informações, consulte "[Usando ambientes para implantação](/actions/deployment/targeting-different-environments/using-environments-for-deployment)". +Os fluxos de trabalho iniciais usam um ambiente de implantação denominado `github-pages`. Se seu repositório ainda não incluir um ambiente denominado `github-pages`, o ambiente será criado automaticamente. Recomendamos que você adicione uma regra de proteção de ambiente para que apenas o branch padrão possa fazer a implantação nesse ambiente. Para obter mais informações, consulte "[Usando ambientes para implantação](/actions/deployment/targeting-different-environments/using-environments-for-deployment)". {% note %} -**Note**: A `CNAME` file in your repository file does not automatically add or remove a custom domain. Instead, you must configure the custom domain through your repository settings or through the API. For more information, see "[Managing a custom domain for your GitHub Pages site](/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain)" and the [Pages API reference documentation](/rest/pages#update-information-about-a-github-pages-site). +**Observação**: Um arquivo `CNAME` no seu arquivo de repositório não adiciona ou remove automaticamente um domínio personalizado. Em vez disso, você deve configurar o domínio personalizado por meio das configurações do repositório ou da API. Para obter mais informações, consulte "[Gerenciando um domínio personalizado para o seu site do GitHub Pages](/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain) e [a documentação de referência da API do Pages](/rest/pages#update-information-about-a-github-pages-site). {% endnote %} -### Troubleshooting publishing with a custom {% data variables.product.prodname_actions %} workflow +### Solucionar problemas de publicação com um fluxo de trabalho personalizado de {% data variables.product.prodname_actions %} -For information about how to troubleshoot your {% data variables.product.prodname_actions %} workflow, see "[About monitoring and troubleshooting](/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting)." +Para obter informações sobre como solucionar seu fluxo de trabalho de {% data variables.product.prodname_actions %}, consulte "[Sobre o monitoramento e solução de problemas](/actions/monitoring-and-troubleshooting-workflows/about-monitoring-and-troubleshooting)." {% endif %} diff --git a/translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md index f11ec52aed..53a77c58fb 100644 --- a/translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md +++ b/translations/pt-BR/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -41,11 +41,11 @@ shortTitle: Criar um site do GitHub Pages {% data reusables.pages.navigate-site-repo %} {% data reusables.pages.decide-publishing-source %} -1. Create the entry file for your site. {% data variables.product.prodname_pages %} will look for an `index.html`, `index.md`, or `README.md` file as the entry file for your site. +1. Criar o arquivo de entrada para o seu site. {% data variables.product.prodname_pages %} procurará um arquivo `index.html`, `index.md` ou `LEIAME.md` como arquivo de postagem do seu site. - {% ifversion pages-custom-workflow %}If your publishing source is a branch and folder, the entry file must be at the top level of the source folder on the source branch. For example, if your publishing source is the `/docs` folder on the `main` branch, your entry file must be located in the `/docs` folder on a branch called `main`. + {% ifversion pages-custom-workflow %}Se sua fonte de publicação for um branch e uma psata, o arquivo de entrada deverá estar no nível superior da pasta de origem no branch de origem. Por exemplo, se a fonte de publicação for a pasta `/docs` no branch principal`, o arquivo de postagem deverá estar localizado na pasta /docs` em um branch denominado `principal`. - If your publishing source is a {% data variables.product.prodname_actions %} workflow, the artifact that you deploy must include the entry file at the top level of the artifact. Instead of adding the entry file to your repository, you may choose to have your {% data variables.product.prodname_actions %} workflow generate your entry file when the workflow runs.{% else %} The entry file must be at the top level of your chosen publishing source. For example, if your publishing source is the `/docs` folder on the `main` branch, your entry file must be located in the `/docs` folder on a branch called `main`.{% endif %} + Se sua fonte de publicação for um fluxo de trabalho de {% data variables.product.prodname_actions %}, o artefato de que você implantar deverá incluir o arquivo de entrada no nível superior do artefato. Em vez de adicionar o arquivo de entrada ao seu repositório, você pode optar por fazer com que o seu fluxo de trabalho {% data variables.product.prodname_actions %} gere o arquivo de entrada quando o fluxo de trabalho é executado.{% else %} O arquivo de entrada deve estar no nível superior da fonte de publicação escolhida. Por exemplo, se a fonte de publicação for a pasta `/docs` no branch principal`, o arquivo de postagem deverá estar localizado na pasta /docs` em um branch denominado `principal`.{% endif %} {% data reusables.pages.configure-publishing-source %} {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} @@ -59,7 +59,7 @@ shortTitle: Criar um site do GitHub Pages Você pode adicionar mais páginas ao seu site criando novos arquivos. Cada arquivo ficará disponível no site na mesma estrutura de diretórios que a fonte de publicação. Por exemplo, se a fonte de publicação do site de projeto for o branch `gh-pages` e você criar um arquivo chamado `/about/contact-us.md` no branch `gh-pages`, o arquivo novo ficará disponível em {% ifversion fpt or ghec %}`https://.github.io//{% else %}`http(s):///pages///{% endif %}about/contact-us.html`. -Também é possível adicionar um tema para personalizar a aparência do site. For more information, see "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". +Também é possível adicionar um tema para personalizar a aparência do site. Para obter mais informações, consulte "[Adicionar um tema ao site do {% data variables.product.prodname_pages %} usando o Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". Para personalizar seu site ainda mais, você pode usar o Jekyll, um gerador de site estático com suporte integrado para o {% data variables.product.prodname_pages %}. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_pages %} e o Jekyll](/articles/about-github-pages-and-jekyll)". diff --git a/translations/pt-BR/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md b/translations/pt-BR/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md index 1c38e0b8bc..90e51b5c4b 100644 --- a/translations/pt-BR/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md +++ b/translations/pt-BR/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md @@ -22,13 +22,13 @@ shortTitle: Cancelar a publicação do site de páginas {% ifversion pages-custom-workflow %} -When you unpublish your site, the site will no longer be available. Any existing repository settings or content will not be affected. +Quando você cancelar a publicação de seu site, o site não estará mais disponível. Todas as configurações de repositório ou o conteúdo não serão afetados. {% data reusables.repositories.navigate-to-repo %} -1. Under **{% data variables.product.prodname_pages %}**, next to the **Your site is live at** message, click {% octicon "kebab-horizontal" aria-label="the horizontal kebab icon" %}. -1. In the menu that appears, select **Unpublish site**. +1. Em **{% data variables.product.prodname_pages %}**, ao lado da mensagem **seu site está ativo em**, clique em {% octicon "kebab-horizontal" aria-label="the horizontal kebab icon" %}. +1. No menu que será exibido, selecione **Cancelar a publicação do site**. - ![Drop down menu to unpublish site](/assets/images/help/pages/unpublish-site.png) + ![Menu suspenso para cancelar a publicação do site](/assets/images/help/pages/unpublish-site.png) {% else %} diff --git a/translations/pt-BR/content/pages/quickstart.md b/translations/pt-BR/content/pages/quickstart.md index ec69da6fa9..c2c223e7e2 100644 --- a/translations/pt-BR/content/pages/quickstart.md +++ b/translations/pt-BR/content/pages/quickstart.md @@ -26,11 +26,11 @@ Este guia irá orientar você com relação à criação de um site em `username 1. Digite `username.github.io` como nome do repositório. Substitua `nome de usuário` pelo seu nome de usuário de {% data variables.product.prodname_dotcom %}. Por exemplo, se seu nome de usuário for `octocat`, o nome do repositório deverá ser `octocat.github.io`. ![Campo nome do repositório](/assets/images/help/pages/create-repository-name-pages.png) {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} -1. Under "Build and deployment", under "Source", select **Deploy from a branch**. -1. Under "Build and deployment", under "Branch", use the **None** or **Branch** drop-down menu and select a publishing source. +1. Em "Compilação e implantação", em "Fonte", selecione **Implantar a partir de um branch**. +1. Em "Compilação e implantação", em "Branch", use o menu suspenso **Nenhum** ou **Branch** e selecione uma fonte de publicação. ![Menu suspenso para selecionar uma fonte de publicação](/assets/images/help/pages/publishing-source-drop-down.png) -1. Optionally, open the `README.md` file of your repository. O arquivo `README.md` é onde você escreverá o conteúdo do seu site. Você pode editar o arquivo ou manter o conteúdo padrão por enquanto. +1. Opcionalmente, abra o arquivo `README.md` do seu repositório. O arquivo `README.md` é onde você escreverá o conteúdo do seu site. Você pode editar o arquivo ou manter o conteúdo padrão por enquanto. 1. Acesse `username.github.io` para ver seu novo site. **Observação:** podem ser necessários até 10 minutos para que as alterações no site sejam publicadas após o push delas no {% data variables.product.product_name %}. ## Alterando o título e a descrição diff --git a/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md index a6b09ffb3c..69d3c52e4c 100644 --- a/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md +++ b/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -75,9 +75,9 @@ Você pode adicionar `site.github` a uma publicação ou página para incluir me {% data reusables.pages.add-jekyll-theme %} Para obter mais informações, consulte "[Temas](https://jekyllrb.com/docs/themes/)" na documentação do Jekyll. {% ifversion fpt or ghec %} -É possível adicionar um tema compatível ao seu site no {% data variables.product.prodname_dotcom %}. For more information, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and [Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll"](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). +É possível adicionar um tema compatível ao seu site no {% data variables.product.prodname_dotcom %}. Para obter mais informações, consulte "[temas compatíveis](https://pages.github.com/themes/)" no site de {% data variables.product.prodname_pages %} e [Adicionando um tema ao seu site de {% data variables.product.prodname_pages %} usando o Jekyll"](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll). -To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% ifversion fpt or ghec %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)". +Para usar qualquer tema de código aberto do Jekyll hospedado em {% data variables.product.prodname_dotcom %}, você pode adicionar o tema manualmente.{% else %} Você pode adicionar um tema ao seu site manualmente.{% endif %} Para obter mais informações, consulte {% ifversion fpt or ghec %} [temas hospedados em {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) e{% else %} "[Temas compatíveis](https://pages.github.com/themes/)" no site de {% data variables.product.prodname_pages %} e {% endif %} "[Adicionar um tema ao seu site do {% data variables.product.prodname_pages %} usando o Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)." Você pode substituir qualquer um dos padrões do seu tema editando os arquivos do tema. Para obter mais informações, consulte a documentação do seu tema e "[Substituir padrões do tema](https://jekyllrb.com/docs/themes/#overriding-theme-defaults)" na documentação do Jekyll. diff --git a/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md b/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md index 298d1675f0..e3427823f8 100644 --- a/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md +++ b/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md @@ -19,7 +19,7 @@ shortTitle: Erros de criação do Jekyll para as páginas ## Sobre erros de criação do Jekyll -{% ifversion pages-custom-workflow %}If you are publishing from a branch, sometimes{% else %}Sometimes,{% endif %} {% data variables.product.prodname_pages %} will not attempt to build your site after you push changes to your site's publishing source.{% ifversion fpt or ghec %} +{% ifversion pages-custom-workflow %}Se você estiver publicando em uma branch, às vezes{% else %}às vezes,{% endif %} {% data variables.product.prodname_pages %} não tentará criar seu site depois que você fizer push das alterações na fonte de publicação do seu site.{% ifversion fpt or ghec %} - A pessoa que fez push das alterações não verificou o endereço de e-mail dela. Para obter mais informações, consulte "[Verificar o endereço de e-mail](/articles/verifying-your-email-address)".{% endif %} - Você está fazendo push com uma chave de implantação. Se desejar automatizar pushes para o repositório do seu site, você poderá configurar um usuário de máquina. Para obter mais informações, consulte "[Gerenciar chaves de implantação](/developers/overview/managing-deploy-keys#machine-users)". - Você está usando um serviço de CI que não está configurado para criar sua fonte de publicação. Por exemplo, Travis CI não criará o branch `gh-pages`, a menos que você adicione o branch a uma lista segura. Para obter mais informações, consulte "[Personalizar a criação](https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches)" em Travis CI ou na documentação do seu serviço de CI. @@ -58,15 +58,15 @@ Por padrão, seu site de {% data variables.product.prodname_pages %} foi criado ## Visualizando mensagens de erro de criação do Jekyll no seu pull request -{% ifversion pages-custom-workflow %}If you are publishing from a branch, when{% else %}When{% endif %} you create a pull request to update your publishing source on {% data variables.product.product_name %}, you can see build error messages on the **Checks** tab of the pull request. Para obter mais informações, consulte "[Sobre verificações de status](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)". +{% ifversion pages-custom-workflow %}Se você estiver publicando a partir de um branch, quando{% else %}Quando{% endif %} você cria um pull request para atualizar a sua fonte de pulicação em {% data variables.product.product_name %}, você pode ver as mensagens de erro de criação na aba **Verificações** do pull request. Para obter mais informações, consulte "[Sobre verificações de status](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)". -{% ifversion pages-custom-workflow %}If you are publishing with a custom {% data variables.product.prodname_actions %} workflow, in order to see build error messages in your pull request, you must configure your workflow to run on the `pull_request` trigger. When you do this, we recommend that you skip any deploy steps if the workflow was triggered by the `pull_request` event. This will allow you to see any build errors without deploying the changes from your pull request to your site. For more information, see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows#pull_request)" and "[Expressions](/actions/learn-github-actions/expressions)."{% endif %} +{% ifversion pages-custom-workflow %}Se você estiver publicando com um fluxo de trabalho personalizado de {% data variables.product.prodname_actions %}, para ver as mensagens de erro de criação no seu pull request, você deve configurar seu fluxo de trabalho para executar o gatilho `pull_request`. Ao fazer isso, recomendamos que você ignore todas as etapas de implantação se o fluxo de trabalho foi acionado pelo evento `pull_request`. Isso permitirá que você veja todos os erros de criação sem implantar as alterações de seu pull request para seu site. Para obter mais informações, consulte "[Eventos que acionam fluxos de trabalho](/actions/using-workflows/events-that-trigger-workflows#pull_request)" e "[Expressões](/actions/learn-github-actions/expressions)".{% endif %} ## Visualizando os erros de criação do Jekyll por e-mail -{% ifversion pages-custom-workflow %}If you are publishing from a branch, when{% else %}When{% endif %} you push changes to your publishing source on {% data variables.product.product_name %}, {% data variables.product.prodname_pages %} will attempt to build your site. Se a criação falhar, você receberá um e-mail no seu endereço de e-mail principal. {% data reusables.pages.build-failure-email-server %} +{% ifversion pages-custom-workflow %}Se você estiver publicando a partir de um branch, quando{% else %}quando{% endif %} você fizer push de alterações na sua fonte de publicação em {% data variables.product.product_name %}, {% data variables.product.prodname_pages %} tentará criar seu site. Se a criação falhar, você receberá um e-mail no seu endereço de e-mail principal. {% data reusables.pages.build-failure-email-server %} -{% ifversion pages-custom-workflow %}If you are publishing with a custom {% data variables.product.prodname_actions %} workflow, in order to receive emails about build errors in your pull request, you must configure your workflow to run on the `pull_request` trigger. When you do this, we recommend that you skip any deploy steps if the workflow was triggered by the `pull_request` event. This will allow you to see any build errors without deploying the changes from your pull request to your site. For more information, see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows#pull_request)" and "[Expressions](/actions/learn-github-actions/expressions)."{% endif %} +{% ifversion pages-custom-workflow %}Se você está publicando com um fluxo de trabalho personalizado de {% data variables.product.prodname_actions %}, para receber e-mails sobre erros de criação em sua pull request, você deve configurar seu fluxo de trabalho para executar o gatilho `pull_request`. Ao fazer isso, recomendamos que você ignore todas as etapas de implantação se o fluxo de trabalho foi acionado pelo evento `pull_request`. Isso permitirá que você veja todos os erros de criação sem implantar as alterações de seu pull request para seu site. Para obter mais informações, consulte "[Eventos que acionam fluxos de trabalho](/actions/using-workflows/events-that-trigger-workflows#pull_request)" e "[Expressões](/actions/learn-github-actions/expressions)".{% endif %} ## Visualizando as mensagens de erro do Jekyll no seu pull request com um serviço de CI de terceiros diff --git a/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md b/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md index d29a0d912a..38d5a0d9a9 100644 --- a/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md +++ b/translations/pt-BR/content/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites.md @@ -43,12 +43,12 @@ Se o Jekyll encontrar um erro ao criar seu site do {% data variables.product.pro Se você recebeu uma mensagem de erro genérica, verifique os problemas comuns. - Você está usando plugins incompatíveis. Para obter mais informações, consulte "[Sobre o {% data variables.product.prodname_pages %} e o Jekyll](/articles/about-github-pages-and-jekyll#plugins)".{% ifversion fpt or ghec %} - Seu repositório excedeu os limites de tamanho. Para obter mais informações, consulte "[Qual é a minha quota de disco?](/articles/what-is-my-disk-quota)"{% endif %} -- Você alterou a configuração `source` no arquivo *_config.yml*. {% ifversion pages-custom-workflow %}If you publish your site from a branch, {% endif %}{% data variables.product.prodname_pages %} overrides this setting during the build process. -- A filename in your published files contains a colon (`:`) which is not supported. +- Você alterou a configuração `source` no arquivo *_config.yml*. {% ifversion pages-custom-workflow %}Se você publicar seu site a partir de um branch, {% endif %}{% data variables.product.prodname_pages %} irá substituir essa configuração durante o processo de criação. +- Um nome de arquivo em seus arquivos publicados contém dois pontos (`:`) o que não é compatível. Se você recebeu uma mensagem de erro específica, revise abaixo as informações de solução de problemas relativas à mensagem de erro. -{% ifversion pages-custom-workflow %}After you've fixed any errors, trigger another build by pushing the changes to your site's source branch (if you are publishing from a branch) or by triggering your custom {% data variables.product.prodname_actions %} workflow (if you are publishing with {% data variables.product.prodname_actions %}).{% else %}After you've fixed any errors, push the changes to your site's publishing source to trigger another build on {% data variables.product.product_name %}.{% endif %} +{% ifversion pages-custom-workflow %}Depois de corrigir todos os erros, acionar outra compilação, enviando as alterações por push para o branch de origem do seu site de (se você estiver publicando de uma filial) ou acionando o fluxo de trabalho personalizado do {% data variables.product.prodname_actions %} (se você estiver publicando com {% data variables.product.prodname_actions %}).{% else %}Depois de corrigir todos os erros, envie as alterações por push para a fonte de publicação do seu site para acionar outra compilação em {% data variables.product.product_name %}.{% endif %} ## Erro no arquivo de configuração @@ -74,7 +74,7 @@ Este erro significa que o código faz referência a um arquivo que não existe n ## O arquivo é um link simbólico -This error means that your code references a symlinked file that does not exist in the published files for your site. +Este erro significa que o código faz referência a um arquivo com link simbólico que não existe nos arquivos publicados para o seu site. {% data reusables.pages.search-for-includes %} Se algum dos arquivos a que você fez referência for com link simbólico, copie ou mova os arquivos para o diretório *_includes*. @@ -162,9 +162,9 @@ Para solucionar problemas, remova a linha `relative_permalinks` do arquivo *_con ## O link simbólico não existe no repositório do site -This error means that your site includes a symbolic link (symlink) that does not exist in the published files for your site. Para obter mais informações sobre links simbólicos, consulte "[Link simbólico](https://en.wikipedia.org/wiki/Symbolic_link)" na Wikipédia. +Este erro significa que seu site inclui um link simbólico (symlink) que não existe nos arquivos publicados em seu site. Para obter mais informações sobre links simbólicos, consulte "[Link simbólico](https://en.wikipedia.org/wiki/Symbolic_link)" na Wikipédia. -Para solucionar problemas, determine se o arquivo na mensagem de erro é usado para criar o site. Se ele não for ou se você não quiser que o arquivo seja um link simbólico, exclua o arquivo. If the symlinked file is necessary to build your site, make sure the file or directory the symlink references is in the published files for your site. Para incluir ativos externos, considere usar {% ifversion fpt or ghec %}`submódulo do Git` ou {% endif %}um gerenciador de pacotes terceirizado como o [Bower](https://bower.io/).{% ifversion fpt or ghec %} Para obter mais informações, consulte "[Usar submódulos com o {% data variables.product.prodname_pages %}](/articles/using-submodules-with-github-pages)".{% endif %} +Para solucionar problemas, determine se o arquivo na mensagem de erro é usado para criar o site. Se ele não for ou se você não quiser que o arquivo seja um link simbólico, exclua o arquivo. Se o arquivo com o link simbólico for necessário para criar seu site, certifique-se de que o arquivo ou diretório ao qual o link simbólico faz referência esteja nos arquivos publicados no seu site. Para incluir ativos externos, considere usar {% ifversion fpt or ghec %}`submódulo do Git` ou {% endif %}um gerenciador de pacotes terceirizado como o [Bower](https://bower.io/).{% ifversion fpt or ghec %} Para obter mais informações, consulte "[Usar submódulos com o {% data variables.product.prodname_pages %}](/articles/using-submodules-with-github-pages)".{% endif %} ## Erro de sintaxe no loop 'for' diff --git a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md index c758116988..fd13d8791f 100644 --- a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md +++ b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md @@ -16,18 +16,18 @@ topics: - Pull requests --- -## Merge your commits +## Fazer merge dos seus commits {% data reusables.pull_requests.default_merge_option %} -## Squash and merge your commits +## Fazer combinação por squash e merge dos seus commits {% data reusables.pull_requests.squash_and_merge_summary %} ### Mesclar mensagem para uma mesclagem por squash {% ifversion default-merge-squash-commit-message %} -Ao fazer combinação por squash e merge, {% data variables.product.prodname_dotcom %} gera uma mensagem de commit padrão, que você pode editar. Depending on how the repository is configured and the number of commits in the pull request, not including merge commits, this message may include the pull request title, pull request description, or information about the commits. +Ao fazer combinação por squash e merge, {% data variables.product.prodname_dotcom %} gera uma mensagem de commit padrão, que você pode editar. Dependendo de como o repositório é configurado e do número de commits no pull request, não sem incluir os commits do merge, esta mensagem poderá incluir o título do pull request, descrição do pull request ou informações sobre o commits. {% else %} Ao fazer combinação por squash e merge, {% data variables.product.prodname_dotcom %} gera uma mensagem de commit padrão, que você pode editar. A mensagem padrão depende do número de commits no pull request, que não inclui commits de merge. @@ -43,7 +43,7 @@ Ao fazer combinação por squash e merge, {% data variables.product.prodname_dot | Mais de um commit | Título da pull request, seguido do número da pull request | Uma lista das mensagens de commit para todos os commits combinados por squash, por ordem de data | {% ifversion default-merge-squash-commit-message %} -People with maintainer or admin access to a repository can configure their repository's default merge message for all squashed commits to use the pull request title, the pull request title and commit details, or the pull request title and description. For more information, see "[Configure commit squashing](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)".{% endif %} +As pessoas com acesso de mantenedor ou administrador a um repositório podem configurar a mensagem de merge padrão de seu repositório para todos os commits combinados por squash para usar o título do pull request, os detalhes do título e do commit do pull request ou o título e a descrição do pull request. Para obter mais informações, consulte "[Configurar o commit combinado por squash](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)".{% endif %} {% ifversion ghes = 3.6 %} As pessoas com acesso de administrador a um repositório podem configurar o repositório para usar o título do pull request como a mensagem de merge padrão para todos os commits combinados por squash. Para obter mais informações, consulte "[Configurar o commit combinado por squash](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests)". @@ -57,7 +57,7 @@ Quando você cria uma pull request, o {% data variables.product.prodname_dotcom Uma vez que esse commit está apenas no branch base e não no branch head, o ancestral comum dos dois branches permanece inalterado. Se você continuar a trabalhar no branch head e, em seguida, criar uma nova pull request entre os dois branches, a pull request incluirá todos os commits desde o ancestral comum, incluindo commits que você combinou por squash e fez merge na pull request anterior. Se não houver conflitos, você pode mesclar esses commits com segurança. No entanto, este fluxo de trabalho torna os conflitos de mesclagem mais prováveis. Se você continuar a combinar por squash e mesclar pull requests para um branch head de longo prazo, você terá que resolver os mesmos conflitos repetidamente. -## Rebase and merge your commits +## Faça rebase e merge dos seus commits {% data reusables.pull_requests.rebase_and_merge_summary %} diff --git a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md index e98cfec19f..574af385fb 100644 --- a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md +++ b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md @@ -24,7 +24,7 @@ Antes de usar o merge automático com um pull request, o merge automático deve Depois que você ativar o merge automático para uma pull request, se alguém que não tiver permissões de gravação no repositório fizer push de novas alterações no branch principal ou alterar o branch de base do pull request, o merge automático será desabilitado. Por exemplo, se um mantenedor permitir o merge automático para um pull request a partir de uma bifurcação, o merge automático será desabilitado depois que um colaborador fizer push de novas alterações no pull request. -You can provide feedback about auto-merge through a [{% data variables.product.prodname_github_community %} discussion](https://github.com/orgs/community/discussions/categories/pull-requests). +Você pode fornecer feedback sobre a o merge automático por meio de uma discussão [{% data variables.product.prodname_github_community %}](https://github.com/orgs/community/discussions/categories/pull-requests). ## Habilitar merge automático diff --git a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md index b95a75d9ba..614bd89a64 100644 --- a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md +++ b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue.md @@ -27,7 +27,7 @@ redirect_from: 1. Na lista "Pull Requests", clique no pull request que você gostaria de adicionar a uma fila de merge. 1. Clique em **Fazer merge quando estiver pronto** para adicionar o pull request à fila de merge. Como alternativa, se você for um administrador, você pode: - - Directly merge the pull request by checking **Merge without waiting for requirements to be met ({% ifversion bypass-branch-protections %}bypass branch protections{% else %}administrators only{% endif %})**, if allowed by branch protection settings, and follow the standard flow. ![Opções da fila de merge](/assets/images/help/pull_requests/merge-queue-options.png) + - Faça o merge direto do pull request marcando **Merge sem espera para atendimento dos requisitos ({% ifversion bypass-branch-protections %}ignorar proteções do branch{% else %}apenas administradores{% endif %})**, se permitido pelas configurações de proteção de branches e siga o fluxo padrão. ![Opções da fila de merge](/assets/images/help/pull_requests/merge-queue-options.png) {% tip %} diff --git a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md index 04908b3653..e4e2653ed6 100644 --- a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md +++ b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md @@ -27,7 +27,7 @@ Você pode fazer comentários na guia **Conversation** (Conversa) de uma pull re Também é possível comentar em seções específicas de um arquivo na guia **Files changed** (Arquivos alterados) de uma pull request na forma de comentários em linha individuais ou como parte de uma [revisão de pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews). Adicionar comentários em linha é uma excelente maneira de discutir questões sobre implementação ou fornecer feedback ao autor. -For more information on adding line comments to a pull request review, see "[Reviewing proposed changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)." +Para obter mais informações sobre como adicionar comentários em linha a uma revisão de pull request, consulte "[Revisar alterações propostas em um pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)". {% note %} diff --git a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md index 72f51400c0..c8462071e8 100644 --- a/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md +++ b/translations/pt-BR/content/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md @@ -25,11 +25,11 @@ permissions: People with write access for a forked repository can sync the fork {% ifversion syncing-fork-web-ui %} 1. Em {% data variables.product.product_name %}, acesse a página principal do repositório bifurcado que você deseja sincronizar com o repositório upstream. -2. Select the **Sync fork** dropdown. !["Sync fork" dropdown emphasized](/assets/images/help/repository/sync-fork-dropdown.png) -3. Review the details about the commits from the upstream repository, then click **Update branch**. ![Sync fork modal with "Update branch" button emphasized](/assets/images/help/repository/update-branch-button.png) +2. Selecione o menu suspenso **Sincronizar bifurcação**. ![Menu suspenso "Sincronizar bifurcação" destacado](/assets/images/help/repository/sync-fork-dropdown.png) +3. Revise os detalhes sobre os commits do repositório upstream e clique em **Atualizar branch**. ![Modo sincronizar bifurcação com o botão "Atualizar branch" destacado](/assets/images/help/repository/update-branch-button.png) {% else %} 1. Em {% data variables.product.product_name %}, acesse a página principal do repositório bifurcado que você deseja sincronizar com o repositório upstream. -2. Select the **Fetch upstream** dropdown. ![Menu suspenso "Buscar upstream"](/assets/images/help/repository/fetch-upstream-drop-down.png) +2. Selecione o menu suspenso **Buscar upstream**. ![Menu suspenso "Buscar upstream"](/assets/images/help/repository/fetch-upstream-drop-down.png) 3. Revise as informações sobre os commits do repositório upstream e, em seguida, clique em **Buscar e merge**. !["Fetch and merge" button](/assets/images/help/repository/fetch-and-merge-button.png){% endif %} Se as alterações do repositório a upstream gerarem conflitos, {% data variables.product.company_short %} solicitará a criação de um pull request para resolver os conflitos. diff --git a/translations/pt-BR/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md b/translations/pt-BR/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md index 00fe1c38b4..2e7a215e47 100644 --- a/translations/pt-BR/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md +++ b/translations/pt-BR/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md @@ -19,7 +19,7 @@ versions: {% data reusables.commits.about-commits %} {% ifversion commit-signoffs %} -If the repository you are committing to has compulsory commit signoffs enabled, and you are committing via the web interface, you will automatically sign off on the commit as part of the commit process. For more information, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." {% endif %} +Se o repositório com o qual você está se comprometendo tiver assinaturas de commit habilitadas e você estiver fazendo o commit por meio da interface web, você irá automaticamente assinar o commit como parte do processo de commit. Para obter mais informações, consulte "[Gerenciando a política de assinatura de commit para o seu repositório](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)". {% endif %} Você pode adicionar um coautor em qualquer commit em que colaborar. Para obter mais informações, consulte "[Criar um commit com vários autores](/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors)". diff --git a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md index ca2e7821d7..fe21fd3413 100644 --- a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md +++ b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-merging-for-pull-requests.md @@ -1,6 +1,6 @@ --- -title: Configuring commit merging for pull requests -intro: 'You can enforce, allow, or disable merging with a merge commit for all pull request merges on {% data variables.product.product_location %} in your repository.' +title: Configurar o merge do commit para pull requests +intro: 'É possível aplicar, permitir ou desabilitar o merge com um commit de merge para todos os merge de pull request em {% data variables.product.product_location %} no seu repositório.' versions: fpt: '*' ghes: '*' @@ -8,18 +8,18 @@ versions: ghec: '*' topics: - Repositories -shortTitle: Configure commit merging +shortTitle: Configurar o merge de commit --- {% data reusables.pull_requests.configure_pull_request_merges_intro %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -1. Under {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Merge button"{% endif %}, select **Allow merge commits**. This allows contributors to merge a pull request with a full history of commits.{% ifversion default-merge-squash-commit-message %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits-no-dropdown.png){% endif %} +1. Em {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Botão de merge"{% endif %}, selecione **Permitir commits de merge**. Isso permite que os contribuidores façam merge de um pull request com um histórico completo dos commits.{% ifversion default-merge-squash-commit-message %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-merge-commits-no-dropdown.png){% endif %} {% ifversion ghes < 3.6 %} ![allow_standard_merge_commits](/assets/images/help/repository/pr-merge-full-commits.png){% endif %} {% ifversion default-merge-squash-commit-message %} -1. Optionally, under **Allow merge commits**, use the dropdown to choose the format of the commit message presented to contributors when merging. The default message includes the pull request number and title. For example, `Merge pull request #123 from patch-1`. You can also choose to use just the pull request title, or the pull request title and description. ![Screenshot of emphasized default commit message dropdown](/assets/images/help/repository/default-commit-message-dropdown.png) +1. Opcionalmente, em **Permitir commits de merge**, use o menu suspenso para escolher o formato da mensagem de commit apresentada aos contribuidores quando realizar o merge. A mensagem padrão inclui o número e título do pull request. Por exemplo, `Merge pull request #123 from patch-1`. Você também pode escolher usar apenas o título do pull request ou o título e a descrição do pull request. ![Captura de tela do menu suspenso da mensagem do commit de combinação por squash padrão](/assets/images/help/repository/default-commit-message-dropdown.png) {% endif %} Se você selecionar mais de um método de merge, os colaboradores poderão escolher qual o tipo de commit de merge usar ao fazer o merge de um pull request. {% data reusables.repositories.squash-and-rebase-linear-commit-history %} diff --git a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md index 33d1ef03b1..d093ff8b48 100644 --- a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md +++ b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md @@ -21,7 +21,7 @@ shortTitle: Configurar rebase de commit {% data reusables.repositories.sidebar-settings %} 3. Em {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Botão de merge"{% endif %}, selecione **Permitir merge de rebase**. Isso permite que os contribuidores façam merge de uma pull request fazendo rebase dos respectivos commits individuais no branch base. {% ifversion default-merge-squash-commit-message %} - ![Screenshot of Pull Request settings with allow rebase merging checkbox emphasized](/assets/images/help/repository/allow-rebase-merging.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow rebase merging checkbox emphasized](/assets/images/help/repository/allow-rebase-merging-no-dropdown.png){% endif %} + ![Captura de tela das configurações de pull request com a caixa de seleção permitir merge de rebase destacada](/assets/images/help/repository/allow-rebase-merging.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow rebase merging checkbox emphasized](/assets/images/help/repository/allow-rebase-merging-no-dropdown.png){% endif %} {% ifversion ghes < 3.6 %} ![Commits com rebase da pull request](/assets/images/help/repository/pr-merge-rebase.png){% endif %} diff --git a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md index 56dbb27442..c6165a65ee 100644 --- a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md +++ b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md @@ -21,11 +21,11 @@ shortTitle: Configurar combinação por squash de commit {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -1. Em {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Botão de merge"{% endif %}, selecione **Permitir merge de combinação por squash**. Isso permite que os contribuidores façam merge de uma pull request combinando por squash todos os commits em um único commit. The default commit message presented to contributors when merging is the commit title and message if the pull request contains only 1 commit, or the pull request title and list of commits if the pull request contains 2 or more commits. {% ifversion ghes = 3.6 %} To always use the title of the pull request regardless of the number of commits in the pull request select **Default to PR title for squash merge commits**.{% endif %}{% ifversion default-merge-squash-commit-message %} ![Pull request squashed commits](/assets/images/help/repository/allow-squash-merging.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-squash-merging-no-dropdown.png){% endif %} +1. Em {% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-6069 %}"Pull Requests"{% else %}"Botão de merge"{% endif %}, selecione **Permitir merge de combinação por squash**. Isso permite que os contribuidores façam merge de uma pull request combinando por squash todos os commits em um único commit. A mensagem de commit padrão apresentada aos contribuidores ao fazer o merge é o título e a mensagem do commit se o pull request contiver apenas 1 commit, ou o título do pull request e lista de commits se o pull request contiver 2 ou mais commits. {% ifversion ghes = 3.6 %} Para usar sempre o título do pull request, independentemente do número de commits no pull request, selecione **Título padrão do PR para commits de merge de combinação por squash**.{% endif %}{% ifversion default-merge-squash-commit-message %} ![Pull request squashed commits](/assets/images/help/repository/allow-squash-merging.png){% endif %}{% ifversion ghes = 3.6 %} ![Screenshot of Pull Request settings with allow merge commits checkbox emphasized](/assets/images/help/repository/allow-squash-merging-no-dropdown.png){% endif %} {% ifversion ghes < 3.6 %} ![Commits de combinação por squash da pull request](/assets/images/enterprise/3.5/repository/pr-merge-squash.png){% endif %} {% ifversion default-merge-squash-commit-message %} -1. Optionally, under **Allow squash merging**, use the dropdown to choose the format of the default squash commit message presented to contributors when merging. The default message uses the commit title and message if the pull request contains only 1 commit, or the pull request title and list of commits if the pull request contains 2 or more commits. You can also choose to use just the pull request title, the pull request title and commit details, or the pull request title and description. ![Screenshot of emphasized default squash message dropdown](/assets/images/help/repository/default-squash-message-dropdown.png) +1. Opcionalmente, em **Permitir o merge de combinação por squash**, use o menu suspenso para escolher o formato da mensagem do commit da combinação por squash padrão apresentada para os contribuidores ao realizar o merge. A mensagem padrão usa o título e a mensagem de commit se o pull request contiver apenas 1 commit, ou o título do pull request e lista de commits se o pull request contiver 2 ou mais commits. Você também pode opter por usar apenas o título do pull request, o título e os detalhes de commit do pull request ou o título e descrição do pull request. ![Captura de tela do menu suspenso da mensagem de combinação por squash padrão](/assets/images/help/repository/default-squash-message-dropdown.png) {% endif %} Se você selecionar mais de um método de merge, os colaboradores poderão escolher qual o tipo de commit de merge usar ao fazer o merge de um pull request. {% data reusables.repositories.squash-and-rebase-linear-commit-history %} diff --git a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md index a13a9d7974..b9e4cbafbb 100644 --- a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md +++ b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue.md @@ -19,7 +19,7 @@ redirect_from: {% data reusables.pull_requests.merge-queue-overview %} -A fila de merge cria branches temporários com um prefixo especial para validar as alterações do pull request. The changes in the pull request are then grouped into a `merge_group` with the latest version of the `base_branch` as well as changes ahead of it in the queue. {% data variables.product.product_name %} fará merge de todas essas alterações em `base_branch` uma vez que as verificações exigidas pelas proteções do branch de `base_branch` sejam aprovadas. +A fila de merge cria branches temporários com um prefixo especial para validar as alterações do pull request. Em seguida, as alterações no pull request são agrupadas em um `merge_group` com a última versão do `base_branch` e também com as alterações antes dele na fila. {% data variables.product.product_name %} fará merge de todas essas alterações em `base_branch` uma vez que as verificações exigidas pelas proteções do branch de `base_branch` sejam aprovadas. Para obter informações sobre métodos de merge, consulte "[Sobre merges de pull requests](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)". @@ -34,11 +34,11 @@ Para obter informações sobre métodos de merge, consulte "[Sobre merges de pul {% data reusables.pull_requests.merge-queue-reject %} -### Triggering merge group checks with {% data variables.product.prodname_actions %} +### Acionando verificações de grupo de merge com {% data variables.product.prodname_actions %} -You can use the `merge_group` event to trigger your {% data variables.product.prodname_actions %} workflow when a pull request is added to a merge queue. Note that this is a different event from the `pull_request` and `push` events. +Você pode usar o evento `merge_group` para acionar o fluxo de trabalho {% data variables.product.prodname_actions %} quando um pull request é adicionado à fila de merge. Observe que este é um evento diferente dos eventos `pull_request` e `push`. -A workflow that reports a check which is required by the target branch's protections would look like this: +Um fluxo de trabalho que informa uma verificação necessária pelas proteções do branch de destino ficaria assim: ```yaml on: @@ -46,11 +46,11 @@ on: merge_group: ``` -For more information see "[Events that trigger workflows](/actions/using-workflows/events-that-trigger-workflows#merge-group)" +Para obter mais informações, consulte "[Eventos que acionam fluxos de trabalho](/actions/using-workflows/events-that-trigger-workflows#merge-group)" -### Triggering merge group checks with other CI providers +### Acionando verificações de grupo de merge com outros provedores de CI -With other CI providers, you may need to update your CI configuration to run when a branch that begins with the special prefix `gh-readonly-queue/{base_branch}` is created. +Com outros provedores de CI, é possível que você precise atualizar sua configuração de CI para ser executada quando uma branch que começa quando o prefixo especial `gh-readonly /{base_branch}` é criado. ## Gerenciando uma fila de merge diff --git a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md index a25cd9d89d..5107588067 100644 --- a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md +++ b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md @@ -33,9 +33,9 @@ topics: Por padrão, cada regra de proteção de branch desabilita push forçado para os branches correspondentes e impede que os branches correspondentes sejam excluídos. Você pode, opcionalmente, desabilitar essas restrições e habilitar configurações adicionais de proteção de branches. {% ifversion bypass-branch-protections %} -By default, the restrictions of a branch protection rule don't apply to people with admin permissions to the repository or custom roles with the "bypass branch protections" permission. You can optionally apply the restrictions to administrators and roles with the "bypass branch protections" permission, too. For more information, see "[Managing custom repository roles for an organization](/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". +Por padrão, as restrições de uma regra de proteção de branch não se aplicam a pessoas com permissões de administrador para o repositório ou funções personalizadas com a permissão de "ignorar proteção de branch". Opcionalmente, você pode aplicar as restrições para administradores e funções com a permissão "ignorar proteção de branch". Para obter mais informações, consulte "[Gerenciando funções de repositórios personalizados para uma organização](/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". {% else %} -Por padrão, as restrições de uma regra de proteção de branch não se aplicam a pessoas com permissões de administrador para o repositório. You can optionally choose to include administrators, too.{% endif %} +Por padrão, as restrições de uma regra de proteção de branch não se aplicam a pessoas com permissões de administrador para o repositório. Opcionalmente, você também pode escolher incluir administradores.{% endif %} {% data reusables.repositories.branch-rules-example %} Para obter mais informações sobre os padrões de nomes do branch, consulte "[Gerenciar uma regra de proteção de branch](/github/administering-a-repository/managing-a-branch-protection-rule)". @@ -55,7 +55,7 @@ Para cada regra de proteção do branch, você pode escolher habilitar ou desabi {%- ifversion required-deployments %} - [Exige implantações para ter sucesso antes do merge](#require-deployments-to-succeed-before-merging) {%- endif %} -{% ifversion bypass-branch-protections %}- [Do not allow bypassing the above settings](#do-not-allow-bypassing-the-above-settings){% else %}- [Include administrators](#include-administrators){% endif %} +{% ifversion bypass-branch-protections %}- [Não permita que as configurações acima sejam ignoradas](#do-not-allow-bypassing-the-above-settings){% else %}- [Incluir administradores](#include-administrators){% endif %} - [Restringir quem pode fazer push para branches correspondentes](#restrict-who-can-push-to-matching-branches) - [Permitir push forçado](#allow-force-pushes) - [Permitir exclusões](#allow-deletions) @@ -152,15 +152,15 @@ Antes de exigir um histórico de commit linear, seu repositório deve permitir m Você pode exigir que as alterações sejam implantadas em ambientes específicos antes de ua branch poder ser mesclado. Por exemplo, você pode usar essa regra para garantir que as alterações sejam implantadas com sucesso em um ambiente de teste antes das alterações sofrerem merge no seu branch padrão. -{% ifversion bypass-branch-protections %}### Do not allow bypassing the above settings{% else %} -### Include administrators{% endif %} +{% ifversion bypass-branch-protections %}### Não permita que sejam ignoradas as configurações acima{% else %} +### Incluir administradores{% endif %} {% ifversion bypass-branch-protections %} -By default, the restrictions of a branch protection rule do not apply to people with admin permissions to the repository or custom roles with the "bypass branch protections" permission in a repository. +Por padrão, as restrições de uma regra de proteção de branch não se aplicam a pessoas com permissões de administrador para o repositório ou funções personalizadas com a permissão de "ignorar proteção de branch" em um repositório. -You can enable this setting to apply the restrictions to admins and roles with the "bypass branch protections" permission, too. For more information, see "[Managing custom repository roles for an organization](/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". +Você pode habilitar esta configuração para aplicar as restrições aos administradores e funções com a permissão "ignorar proteção de branch". Para obter mais informações, consulte "[Gerenciando funções de repositórios personalizados para uma organização](/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". {% else %} -Por padrão, as regras de branch protegidos não se aplicam a pessoas com permissões de administrador em um repositório. You can enable this setting to include administrators in your protected branch rules.{% endif %} +Por padrão, as regras de branch protegidos não se aplicam a pessoas com permissões de administrador em um repositório. Você pode habilitar essa configuração para incluir administradores em suas regras de proteção de branch.{% endif %} ### Restringir quem pode fazer push para branches correspondentes diff --git a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md index 8c536793dd..f040be4182 100644 --- a/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md +++ b/translations/pt-BR/content/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md @@ -77,14 +77,14 @@ Ao criar uma regra de branch, o branch que você especificar ainda não existe n 1. Opcionalmente, para fazer merge de pull requests usando uma fila de merge, selecione **Exigir fila de merge**. {% data reusables.pull_requests.merge-queue-references %} ![Opção de exigir fila de merge](/assets/images/help/repository/require-merge-queue.png) {% tip %} - **Dica:** O recurso de merge da fila de pull request está atualmente em versão beta pública limitada e sujeito a alterações. Organizations owners can request early access to the beta by joining the [waitlist](https://github.com/features/merge-queue/signup). + **Dica:** O recurso de merge da fila de pull request está atualmente em versão beta pública limitada e sujeito a alterações. As organizações às quais os proprietários podem solicitar acesso antecipado ao beta entrando na [lista de espera](https://github.com/features/merge-queue/signup). {% endtip %} {%- endif %} {%- ifversion required-deployments %} 1. Opcionalmente, para escolher em quais ambientes as alterações devem ser implantadas com sucesso antes de fazer merge, selecione **Exigir implantações para ser bem-sucedidas antes do merge** e, em seguida, selecione os ambientes. ![Exigir uma opção de implantação bem-sucedida](/assets/images/help/repository/require-successful-deployment.png) {%- endif %} -1. Optionally, select {% ifversion bypass-branch-protections %}**Do not allow bypassing the above settings**. ![Do not allow bypassing the above settings checkbox](/assets/images/help/repository/do-not-allow-bypassing-the-above-settings.png){% else %}**Apply the rules above to administrators**. ![Apply the rules above to administrators checkbox](/assets/images/help/repository/include-admins-protected-branches.png){% endif %} +1. Opcionalmente, selecione {% ifversion bypass-branch-protections %}**Não permita que sejam ignoradas as configurações acima**. ![Do not allow bypassing the above settings checkbox](/assets/images/help/repository/do-not-allow-bypassing-the-above-settings.png){% else %}**Aplicar as regras acima aos administradores**. ![Apply the rules above to administrators checkbox](/assets/images/help/repository/include-admins-protected-branches.png){% endif %} 1. Opcionalmente, {% ifversion fpt or ghec %} se o repositório pertencer a uma organização que usa {% data variables.product.prodname_team %} ou {% data variables.product.prodname_ghe_cloud %},{% endif %} habilitar as restrições de branches. - Selecione **Restringir quem pode fazer push para os branches correspondentes**. ![Branch restriction checkbox](/assets/images/help/repository/restrict-branch.png){% ifversion restrict-pushes-create-branch %} - Opcionalmente, para também restringir a criação de branches correspondentes, selecione **Restringir pushes que criam branches correspondentes**. ![Branch creation restriction checkbox](/assets/images/help/repository/restrict-branch-create.png){% endif %} diff --git a/translations/pt-BR/content/repositories/creating-and-managing-repositories/about-repositories.md b/translations/pt-BR/content/repositories/creating-and-managing-repositories/about-repositories.md index 7d4b78c205..bcbf580bb5 100644 --- a/translations/pt-BR/content/repositories/creating-and-managing-repositories/about-repositories.md +++ b/translations/pt-BR/content/repositories/creating-and-managing-repositories/about-repositories.md @@ -90,12 +90,12 @@ Todos os integrantes da empresa têm permissões de leitura no repositório inte {% data reusables.repositories.internal-repo-default %} -{% ifversion ghec %}Unless your enterprise uses {% data variables.product.prodname_emus %}, members{% else %}Members{% endif %} of the enterprise can fork any internal repository owned by an organization in the enterprise. O repositório bifurcado pertencerá à conta pessoal do integrante e a visibilidade da bifurcação será privada. Se um usuário for removido de todas as organizações pertencentes à empresa, essas bifurcações do usuário dos repositórios internos do usuário serão removidas automaticamente. +{% ifversion ghec %}A menos que sua empresa use {% data variables.product.prodname_emus %}, os integrantes{% else %}Integrantes{% endif %} da empresa poderão bifurcar qualquer repositório interno de propriedade de uma organização na empresa. O repositório bifurcado pertencerá à conta pessoal do integrante e a visibilidade da bifurcação será privada. Se um usuário for removido de todas as organizações pertencentes à empresa, essas bifurcações do usuário dos repositórios internos do usuário serão removidas automaticamente. {% ifversion ghec %} {% note %} -**Note:** {% data variables.product.prodname_managed_users_caps %} cannot fork internal repositories. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts)." +**Observação:** {% data variables.product.prodname_managed_users_caps %} não pode realizar a bifurcação a partir de repositórios internos. Para obter mais informações, consulte "[Sobre {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts)." {% endnote %} {% endif %} @@ -109,9 +109,9 @@ A maioria dos limites abaixo afetam o {% data variables.product.product_name %} ### Limites de texto -Os arquivos de texto acima de **512 KB** são sempre exibidos como texto sem formatação. Code is not syntax highlighted, and prose files are not converted to HTML (such as Markdown, AsciiDoc, *etc.*). +Os arquivos de texto acima de **512 KB** são sempre exibidos como texto sem formatação. O código não destaca a sintaxe e arquivos em prosa não são convertidos em HTML (como markdown, AsciiDoc *etc.*). -Text files over **5 MB** are only available through their raw URLs, which are served through `{% data variables.product.raw_github_com %}`; for example, `https://{% data variables.product.raw_github_com %}/octocat/Spoon-Knife/master/index.html`. Click the **Raw** button to get the raw URL for a file. +Arquivos de texto acima de **5 MB** somente estão disponíveis por meio de suas URLs não processadas, que são servidas em `{% data variables.product.raw_github_com %}`; por exemplo, `https://{% data variables.product.raw_github_com %}/octocat/Spoon-Knife/master/index.html`. Clique no botão **Não processado** para obter a URL não processada de um arquivo. ### Limites de diff @@ -126,7 +126,7 @@ Algumas partes de um diff limitado podem ser exibidas, mas qualquer excedente de ### Limites de listas de commits -As páginas de visualização comparada e pull requests exibem uma lista de commits entre as revisões `base` e `head`. These lists are limited to **250** commits. Caso o limite seja excedido, uma observação indicará que commits adicionais estão presentes (mas não são mostrados). +As páginas de visualização comparada e pull requests exibem uma lista de commits entre as revisões `base` e `head`. Essas listas são limitadas a **250** commits. Caso o limite seja excedido, uma observação indicará que commits adicionais estão presentes (mas não são mostrados). ## Leia mais diff --git a/translations/pt-BR/content/repositories/creating-and-managing-repositories/transferring-a-repository.md b/translations/pt-BR/content/repositories/creating-and-managing-repositories/transferring-a-repository.md index 4093783174..140953a966 100644 --- a/translations/pt-BR/content/repositories/creating-and-managing-repositories/transferring-a-repository.md +++ b/translations/pt-BR/content/repositories/creating-and-managing-repositories/transferring-a-repository.md @@ -31,7 +31,7 @@ Pré-requisitos para transferências no repositório: - Ao transferir um repositório que possui para outra conta pessoal, o novo proprietário receberá um e-mail de confirmação.{% ifversion fpt or ghec %} O e-mail de confirmação inclui instruções para aceitar a transferência. Se o novo proprietário não aceitar a transferência em um dia, o convite vai expirar.{% endif %} - Para transferir um repositório que você possui para uma organização, é preciso ter permissão para criar um repositório na organização de destino. - A conta de destino não deve ter um repositório com o mesmo nome ou uma bifurcação na mesma rede. -- O proprietário original do repositório é adicionado como colaborador no repositório transferido. Other collaborators to the transferred repository remain intact.{% ifversion ghes < 3.7 %} +- O proprietário original do repositório é adicionado como colaborador no repositório transferido. Outros colaboradores no repositório transferido permanecem intactos.{% ifversion ghes < 3.7 %} - Os repositórios internos não podem ser transferidos.{% endif %} - Bifurcações privadas não podem ser transferidas. diff --git a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md index 5d34fb20d2..c1bd353596 100644 --- a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md +++ b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners.md @@ -48,7 +48,7 @@ Para reduzir o tamanho do seu arquivo CODEOWNERS, considere o uso de padrões cu ## Sintaxe de CODEOWNERS -Um arquivo CODEOWNERS usa um padrão que segue a maioria das mesmas regras usadas nos arquivos [gitignore](https://git-scm.com/docs/gitignore#_pattern_format), com [algumas exceções](#syntax-exceptions). O padrão é seguido por um ou mais nomes de usuário ou nomes de equipe do {% data variables.product.prodname_dotcom %} usando o formato padrão `@username` ou `@org/team-name`. Users and teams must have explicit `write` access to the repository, even if the team's members already have access. +Um arquivo CODEOWNERS usa um padrão que segue a maioria das mesmas regras usadas nos arquivos [gitignore](https://git-scm.com/docs/gitignore#_pattern_format), com [algumas exceções](#syntax-exceptions). O padrão é seguido por um ou mais nomes de usuário ou nomes de equipe do {% data variables.product.prodname_dotcom %} usando o formato padrão `@username` ou `@org/team-name`. Os usuários e as equipes devem ter acesso explícito de `gravação` para o repositório, mesmo que os integrantes da equipe já tenham acesso. {% ifversion fpt or ghec%}Na maioria dos casos você{% else %}Você{% endif %} também pode se referir a um usuário por um endereço de e-mail que foi adicionado a sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, por exemplo, `user@example tom`. {% ifversion fpt or ghec %} Você não pode usar um endereço de e-mail para fazer referência a um {% data variables.product.prodname_managed_user %}. Para obter mais informações sobre {% data variables.product.prodname_managed_users %}, consulte "[Sobre {% data variables.product.prodname_emus %}](/enterprise-cloud@latest/admin/identity-and-access-management/managing-iam-with-enterprise-managed-users/about-enterprise-managed-users){% ifversion fpt %}" na documentação de {% data variables.product.prodname_ghe_cloud %}.{% else %}."{% endif %}{% endif %} diff --git a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md index c4678ef37d..64aa9bd18c 100644 --- a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md +++ b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository.md @@ -18,7 +18,7 @@ shortTitle: Exibir um botão de patrocinador Para configurar o botão de patrocinador, edite um arquivo _FUNDING.yml_ na pasta `.github` do repositório, no branch padrão. É possível configurar o botão para incluir desenvolvedores patrocinados no {% data variables.product.prodname_sponsors %}, em plataformas de financiamento externas ou em uma URL de financiamento personalizado. Para obter mais informações a respeito do {% data variables.product.prodname_sponsors %}, consulte "[Sobre o GitHub Sponsors](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)". -Você pode adicionar um nome de usuário, de pacote ou de projeto por plataforma de financiamento externa e até quatro URLs personalizadas. You can add one organization and up to four sponsored developers in {% data variables.product.prodname_sponsors %}. Adicione cada plataforma em uma nova linha, usando a seguinte sintaxe: +Você pode adicionar um nome de usuário, de pacote ou de projeto por plataforma de financiamento externa e até quatro URLs personalizadas. Você pode adicionar uma organização e até quatro desenvolvedores patrocinados em {% data variables.product.prodname_sponsors %}. Adicione cada plataforma em uma nova linha, usando a seguinte sintaxe: | Plataforma | Sintaxe | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | diff --git a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md index a333f2fae9..349867a03a 100644 --- a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md +++ b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-project-boards-in-a-repository.md @@ -1,6 +1,6 @@ --- -title: 'Disabling {% data variables.projects.projects_v1_boards %} in a repository' -intro: 'Repository administrators can turn off {% data variables.projects.projects_v1_boards %} for a repository if you or your team manages work differently.' +title: 'Desabilitando {% data variables.projects.projects_v1_boards %} em um repositório' +intro: 'Os administradores do repositório podem desativar {% data variables.projects.projects_v1_boards %} para um repositório, se você ou sua equipe gerenciarem trabalhos de forma diferente.' redirect_from: - /github/managing-your-work-on-github/managing-project-boards/disabling-project-boards-in-a-repository - /articles/disabling-project-boards-in-a-repository @@ -13,14 +13,14 @@ versions: ghec: '*' topics: - Pull requests -shortTitle: 'Disable {% data variables.projects.projects_v1_boards %}' +shortTitle: 'Desabilite {% data variables.projects.projects_v1_boards %}' allowTitleToDifferFromFilename: true --- -When you disable {% data variables.projects.projects_v1_boards %}, you will no longer see {% data variables.projects.projects_v1_board %} information in timelines or [audit logs](/articles/reviewing-your-security-log/). +Ao desabilitar {% data variables.projects.projects_v1_boards %}, você não verá mais as informações de {% data variables.projects.projects_v1_board %} em linhas do tempo ou em [logs de auditoria](/articles/reviewing-your-security-log/). {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} 3. Em "Features" (Recursos), desmarque a caixa de seleção **Projects** (Projetos). ![Caixa de seleção Remove Projects (Remover projetos)](/assets/images/help/projects/disable-projects-checkbox.png) -After {% data variables.projects.projects_v1_boards %} are disabled, existing {% data variables.projects.projects_v1_boards %} are inaccessible at their previous URLs. {% data reusables.organizations.disable_project_board_results %} +Após {% data variables.projects.projects_v1_boards %} ser desabilitado, {% data variables.projects.projects_v1_boards %} existente poderá ser acessado nas suas URLs anteriores. {% data reusables.organizations.disable_project_board_results %} diff --git a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md index 0e76db15bc..2ccb44ce8f 100644 --- a/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md +++ b/translations/pt-BR/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository.md @@ -1,24 +1,24 @@ --- -title: Managing the commit signoff policy for your repository -intro: 'You can require users to automatically sign off on the commits they make to your repository using {% data variables.product.product_name %}''s web interface.' +title: Gerenciando a política de assinatura do commit para seu repositório +intro: 'Você pode exigir que os usuários assinem automaticamente os commits que criarem no seu repositório usando a interface web do {% data variables.product.product_name %}.' versions: feature: commit-signoffs permissions: Organization owners and repository administrators can require all commits to a repository to be signed off by the commit author. topics: - Repositories -shortTitle: Manage the commit signoff policy +shortTitle: Gerenciar a política de aprovação de commit --- -## About commit signoffs +## Sobre as autorizações de commit -Commit signoffs enable users to affirm that a commit complies with the rules and licensing governing a repository. You can enable compulsory commit signoffs on individual repositories for users committing through {% data variables.product.product_location %}'s web interface, making signing off on a commit a seemless part of the commit process. Once compulsory commit signoffs are enabled for a repository, every commit made to that repository through {% data variables.product.product_location %}'s web interface will automatically be signed off on by the commit author. +As assinaturas de commits permitem que os usuários afirmem que um commit cumpre as regras e licenciamento que regem um repositório. Você pode habilitar assinaturas de commit obrigatórias em repositórios individuais para os usuários que fazem commit através da interface web do {% data variables.product.product_location %}, tornando a assinatura de um commit uma parte integrante do processo de commit. Uma vez que as assinaturas obrigatórias de commit estiverem habilitadas para um repositório, cada commit criado para esse repositório por meio da interface web do {% data variables.product.product_location %} será automaticamente assinado pelo autor do commit. -Organization owners can also enable compulsory commit signoffs at the organization level. For more information, see "[Managing the commit signoff policy for your organization](/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization)." +Os proprietários da organização também podem habilitar assinaturas de commit obrigatórias no nível da organização. Para obter mais informações, consulte "[Gerenciando a política de assinatura de commit para a sua organização](/organizations/managing-organization-settings/managing-the-commit-signoff-policy-for-your-organization)". {% data reusables.repositories.commit-signoffs %} -## Enabling or disabling compulsory commit signoffs for your repository +## Habilitando ou desabilitando as assinaturas obrigatórias de commit para o seu repositório {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -1. Select **Require contributors to sign off on web-based commits**. ![Screenshot of Require contributors to sign off on web-based commits](/assets/images/help/repository/require-signoffs.png) +1. Selecione **Exigir que os contribuidores assinem os commits baseados na web**. ![Captura de tela dos contribuidores obrigatórios para assinar commits baseados na web](/assets/images/help/repository/require-signoffs.png) diff --git a/translations/pt-BR/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md b/translations/pt-BR/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md index e6f77eeb6a..78c55b1fed 100644 --- a/translations/pt-BR/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md +++ b/translations/pt-BR/content/repositories/working-with-files/managing-files/adding-a-file-to-a-repository.md @@ -1,6 +1,6 @@ --- title: Adicionar um arquivo a um repositório -intro: 'Você pode fazer o upload e o commit de um arquivo existente para um repositório no {% data variables.product.product_name %} ou usando a linha de comando.' +intro: 'Você pode fazer o upload e o commit de um arquivo existente para um repositório em {% data variables.product.product_name %} ou usando a linha de comando.' redirect_from: - /articles/adding-a-file-to-a-repository - /github/managing-files-in-a-repository/adding-a-file-to-a-repository @@ -22,7 +22,7 @@ shortTitle: Adicionar um arquivo ## Adicionando um arquivo a um repositório em {% data variables.product.product_name %} -Os arquivos que você adiciona a um repositório por meio do navegador são limitados a {% data variables.large_files.max_github_browser_size %} por arquivo. É possível adicionar arquivos maiores, de até {% data variables.large_files.max_github_size %} cada um, usando a linha de comando. Para obter mais informações, consulte "[Adicionar um arquivo a um repositório usando a linha de comando](#adding-a-file-to-a-repository-using-the-command-line)". To add files larger than {% data variables.large_files.max_github_size %}, you must use {% data variables.large_files.product_name_long %}. For more information, see "[About large files on {% data variables.product.product_name %}](/repositories/working-with-files/managing-large-files/about-large-files-on-github)." +Os arquivos que você adiciona a um repositório por meio do navegador são limitados a {% data variables.large_files.max_github_browser_size %} por arquivo. É possível adicionar arquivos maiores, de até {% data variables.large_files.max_github_size %} cada um, usando a linha de comando. Para obter mais informações, consulte "[Adicionar um arquivo a um repositório usando a linha de comando](#adding-a-file-to-a-repository-using-the-command-line)". Para adicionar arquivos maiores que {% data variables.large_files.max_github_size %}, você deve usar {% data variables.large_files.product_name_long %}. Para obter mais informações, consulte "[Sobre arquivos grandes em {% data variables.product.product_name %}](/repositories/working-with-files/managing-large-files/about-large-files-on-github)." {% tip %} diff --git a/translations/pt-BR/content/repositories/working-with-files/using-files/working-with-non-code-files.md b/translations/pt-BR/content/repositories/working-with-files/using-files/working-with-non-code-files.md index 70dc064c89..71226163b4 100644 --- a/translations/pt-BR/content/repositories/working-with-files/using-files/working-with-non-code-files.md +++ b/translations/pt-BR/content/repositories/working-with-files/using-files/working-with-non-code-files.md @@ -363,7 +363,7 @@ Ao visualizar o arquivo no repositório, ele é interpretado como um gráfico de Se o seu gráfico não faz nenhuma interpretação, verifique se ele contém uma sintaxe válida do Markdown do Mermaid, verificando sua carta com [editor ativo do Mermaid](https://mermaid.live/edit). -If the chart displays, but does not appear as you'd expect, you can create a new [{% data variables.product.prodname_github_community %} discussion](https://github.com/orgs/community/discussions/categories/general), and add the `Mermaid` label. +Se o gráfico for exibido, mas não aparecer como você esperara, você poderá uma nova [discussão de {% data variables.product.prodname_github_community %} discussão](https://github.com/orgs/community/discussions/categories/general) e adicionar a etiqueta `Mermaid`. #### Problemas conhecidos diff --git a/translations/pt-BR/content/rest/actions/cache.md b/translations/pt-BR/content/rest/actions/cache.md index 2c0dcb2956..67035b74c3 100644 --- a/translations/pt-BR/content/rest/actions/cache.md +++ b/translations/pt-BR/content/rest/actions/cache.md @@ -13,4 +13,4 @@ versions: ## About a API do cache -A API do cache do {% data variables.product.prodname_actions %} permite que você consulte e gerencie o cache {% data variables.product.prodname_actions %} para repositórios. {% ifversion actions-cache-management %}You can also install a {% data variables.product.prodname_cli %} extension to manage your caches from the command line. {% endif %}For more information, see "[Caching dependencies to speed up workflows](/actions/advanced-guides/caching-dependencies-to-speed-up-workflows#managing-caches)." +A API do cache do {% data variables.product.prodname_actions %} permite que você consulte e gerencie o cache {% data variables.product.prodname_actions %} para repositórios. {% ifversion actions-cache-management %}Você também pode instalar uma extensão de {% data variables.product.prodname_cli %} para gerenciar seus caches a partir da linha de comando. {% endif %}Para obter mais informações, consulte "[Dependências de cache para acelerar os fluxos de trabalho](/actions/advanced-guides/caching-dependencies-to-speed-up-workflows#managing-caches)". diff --git a/translations/pt-BR/content/rest/deployments/branch-policies.md b/translations/pt-BR/content/rest/deployments/branch-policies.md index 77279b9fe8..b6cb80a805 100644 --- a/translations/pt-BR/content/rest/deployments/branch-policies.md +++ b/translations/pt-BR/content/rest/deployments/branch-policies.md @@ -1,8 +1,8 @@ --- -title: Deployment branch policies +title: Políticas de branch de implantação allowTitleToDifferFromFilename: true -shortTitle: Deployment branch policies -intro: The Deployment branch policies API allows you to manage custom deployment branch policies. +shortTitle: Políticas de branch de implantação +intro: A API de políticas de branch de implantação permite que você gerencie políticas personalizadas de branch de implantação. versions: fpt: '*' ghes: '*' @@ -13,8 +13,8 @@ topics: miniTocMaxHeadingLevel: 3 --- -## About the Deployment branch policies API +## Sobre a API das políticas de branch de implantação -The Deployment branch policies API allows you to specify custom name patterns that branches must match in order to deploy to an environment. The `deployment_branch_policy.custom_branch_policies` property for the environment must be set to `true` to use these endpoints. To update the `deployment_branch_policy` for an environment, see "[Create or update an environment](/rest/deployments/environments#create-or-update-an-environment)." +A API de políticas de branch de implantação permite que você especifique padrões de nome personalizados aos quais os branchs devem corresponder para fazer a implantação em um ambiente. A propriedade `deployment_branch_policy.custom_branch_policy` para o ambiente deve ser definida como `verdadeiro` para usar estas extremidades. Para atualizar o `deployment_branch_policy` para um ambiente, consulte "[Criando ou atualizando um ambiente](/rest/deployments/environments#create-or-update-an-environment)". -For more information about restricting environment deployments to certain branches, see "[Using environments for deployment](/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-branches)." +Para obter mais informações sobre como restringir implantações de ambiente em certos branches, consulte "[Usando ambientes para implantação](/actions/deployment/targeting-different-environments/using-environments-for-deployment#deployment-branches). ". diff --git a/translations/pt-BR/content/rest/deployments/deployments.md b/translations/pt-BR/content/rest/deployments/deployments.md index 3b5dd1922a..1b3a87d635 100644 --- a/translations/pt-BR/content/rest/deployments/deployments.md +++ b/translations/pt-BR/content/rest/deployments/deployments.md @@ -19,7 +19,7 @@ Os status de implantação externos permitem marcar implantações com `error`, Os status de implantação também podem incluir uma `descrição` opcional e `log_url`, que são altamente recomendados porque tornam o status de implantação mais útil. O `log_url` é a URL completa para a saída de implantação e a `descrição` é um resumo de alto nível do que aconteceu com a implantação. -O GitHub envia os eventos de `implantação` e `deployment_status` quando novas implantações de status de implantação são criadas. Esses eventos permitem que as integrações de terceiros recebam resposta para solicitações de implantação e atualizem o status de implantação conforme o progresso é feito. +O GitHub envia os eventos de `implantação` e `deployment_status` quando novas implantações de status de implantação são criadas. Esses eventos permitem que as integrações de terceiros recebam e respondam às solicitações de implantação e atualizem o status de implantação conforme o progresso é feito. Abaixo está um diagrama de sequência sobre para como essas interações funcionariam. diff --git a/translations/pt-BR/content/rest/guides/getting-started-with-the-checks-api.md b/translations/pt-BR/content/rest/guides/getting-started-with-the-checks-api.md index 93eba6bfd7..7aedf51294 100644 --- a/translations/pt-BR/content/rest/guides/getting-started-with-the-checks-api.md +++ b/translations/pt-BR/content/rest/guides/getting-started-with-the-checks-api.md @@ -41,7 +41,7 @@ Uma execução de verificação é um teste individual que faz parte de um conju ![Fluxo de trabalho das execuções de verificação](/assets/images/check_runs.png) -Se uma execução de verificação estiver em um estado incompleto por mais de 14 dias, a execução de verificação `conclusão` irá tornar-se `obsoleta` e será exibida em {% data variables.product.prodname_dotcom %} como obsoleto com {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Somente {% data variables.product.prodname_dotcom %} pode marcar a execuções de verificação como `obsoleto`. Para obter mais informações sobre possíveis conclusões de uma execução de verificação, consulte o parâmetro [`conclusão`](/rest/reference/checks#create-a-check-run--parameters). +If a check run is in an incomplete state for more than 14 days, then the check run's `conclusion` becomes `stale` and appears on {% data variables.product.prodname_dotcom %} as stale with {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Somente {% data variables.product.prodname_dotcom %} pode marcar a execuções de verificação como `obsoleto`. Para obter mais informações sobre possíveis conclusões de uma execução de verificação, consulte o parâmetro [`conclusão`](/rest/reference/checks#create-a-check-run--parameters). Assim que você receber o webhook de [`check_suite`](/webhooks/event-payloads/#check_suite), você poderá criar a execução de verificação, mesmo que a verificação não esteja completa. Você pode atualizar o `status` da execução de verificação, pois ele é completado com os valores de `queued`, `in_progress` ou `completed`, e você poderá atualizar a saída de `` conforme mais informações forem disponibilizadas. Uma verificação de execução pode conter registros de hora, um link para obter mais informações sobre o seu site externo, anotações detalhadas para linhas específicas de código, e informações sobre a análise realizada. diff --git a/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md b/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md index 940cef7d5c..ac338ba59f 100644 --- a/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/pt-BR/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: Primeiros passos com a API REST -intro: 'Aprenda os fundamentos para usar a API REST, começando com a autenticação e alguns exemplos de pontos de extremidade.' -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Aprenda a usar a API REST de {% data variables.product.prodname_dotcom %}.' versions: fpt: '*' ghes: '*' @@ -11,418 +8,754 @@ versions: ghec: '*' topics: - API -shortTitle: Primeiros passos - REST API +shortTitle: Usando a API +miniTocMaxHeadingLevel: 3 --- +## Sobre a API REST de {% data variables.product.prodname_dotcom %} -Vamos andar pelos conceitos básicos da API, à medida que abordamos alguns casos de uso diário. +Esse artigo descreve como usar a API REST de {% data variables.product.prodname_dotcom %}, usando {% data variables.product.prodname_cli %}, JavaScript ou cURL. Para um guia de início rápido, consulte " Quickstart[Início rápido para a API REST do GitHub](/rest/quickstart)." -{% data reusables.rest-api.dotcom-only-guide-note %} +Ao fazer uma solicitação para a API REST, você especifica um método HTTP e um caminho. Além disso, você também pode especificar cabeçalhos de solicitação e caminho, consulta ou parâmetros de texto. A API retornará o código de status de resposta, cabeçalhos de resposta e, potencialmente, um texto de resposta. -## Visão Geral +A documentação de referência da API REST descreve o método HTTP, o caminho e os parâmetros para cada operação. Els também exibe exemplos de solicitações e respostas para cada operação. Para obter mais informações, consulte a [Documentação de referência de REST](/rest). -A maioria dos aplicativos usará uma [biblioteca de segurança][wrappers] existente na linguagem da sua escolha, mas é importante familiarizar-se primeiro com os métodos HTTP e de API subjacentes. +## Fazendo uma solicitação -Não há uma maneira mais de fazê-lo do que através do [cURL][curl].{% ifversion fpt or ghec %} Se você estiver usando um cliente alternativo, observe que você será obrigado a enviar um [cabeçalho do agente de usuário](/rest/overview/resources-in-the-rest-api#user-agent-required) válido na sua solicitação.{% endif %} +Para fazer uma solicitação, primeiro encontre o método HTTP e o caminho para a operação que você deseja usar. Por exemplo, a operação "Obter Octocat" usa o método `GET` e o caminho `/octocat`. Para a documentação completa de referência para esta operação, consulte "[Obter Octocat](/rest/meta#get-octocat)". -### Hello World +{% cli %} -Vamos começar testando a nossa configuração. Abra uma instrução de comando e digite o comando a seguir: +{% note %} + +**Observação**: Você deve instalar {% data variables.product.prodname_cli %} para usar os comandos nos exemplos de {% data variables.product.prodname_cli %}. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). + +{% endnote %} + +Se você ainda não está efetuando a autenticação em {% data variables.product.prodname_cli %}, você deve usar o subcomando de autenticação `gh login` para efetuar a autenticação antes de fazer qualquer solicitação. Para obter mais informações, consulte "[Efetuando a autenticação](#authenticating)". + +Para fazer uma solicitação usando {% data variables.product.prodname_cli %}, use o subcomando `api` junto com o caminho. Use o sinalizador `--method` ou `-X` para especificar o método. ```shell -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -A resposta será uma seleção aleatória das nossas filosofias de design. +{% endcli %} -Next, let's `GET` [Chris Wanstrath's][defunkt github] [GitHub profile][users api]: +{% javascript %} + +{% note %} + +**Observação**: Você deve instalar e importar o `octokit` para usar a biblioteca Octokit.js usada nos exemplos de JavaScript. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +Para fazer uma solicitação usando o JavaScript, você pode usar o Octokit.js. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +Primeiro, crie uma instância de `Octokit`.{% ifversion ghes or ghae %} Defina a URL de base como `{% data variables.product.api_url_code %}`. Substitua `[hostname]` pelo nome de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +Em seguida, use o método `solicitação` para fazer solicitações. Passe o método HTTP e o caminho como o primeiro argumento. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `{% data variables.product.api_url_code %}`, to the path to get the full URL: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +Use o comando `curl` na sua linha de comando. Use o sinalizador `--request` ou `-X` seguido do método HTTP. Use o sinalizador `--url` seguido da 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" ``` -Mmmmm, tastes like [JSON][json]. Vamos adicionar o sinalizador `-i` para incluir cabeçalhos: +{% note %} + +**Observação**: Se você receber uma mensagem semelhante a command not found: curl", talvez você tenha de fazer o download e instalar o cURL. For more information, see [the cURL project download page](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Continue lendo para aprender como efetuar a autenticação, enviar parâmetros e usar a resposta. + +## Autenticando + +Muitas operações exigem autenticação ou devolução de informações adicionais se você estiver autenticado. Além disso, você pode fazer mais solicitações quando estiver autenticado.{% cli %} Embora algumas operações da API REST possam ser acessadas sem autenticação, você deve efetuar a autenticação em {% data variables.product.prodname_cli %} para usar o subcomando `api` .{% endcli %} + +### Sobre tokens + +Você pode autenticar a sua solicitação adicionando um token. + +Se você deseja usar a API REST de {% data variables.product.company_short %} para uso pessoal, você pode criar um token de acesso pessoal (PAT). As operações da API REST usadas neste artigo exigem um escopo `repo` para tokens de acesso pessoal. Outras operações podem exigir diferentes escopos. Para obter mais informações sobre a criação de um token de acesso pessoal, consulte[Criando um token de acesso pessoal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +Se você quiser usar a API em nome de uma organização ou outro usuário, {% data variables.product.company_short %} recomenda que você use um {% data variables.product.prodname_github_app %}. Se uma operação estiver disponível para {% data variables.product.prodname_github_apps %}, a documentação de referência REST para essa operação dirá "Funciona com aplicativos GitHub". As operações da API REST usadas neste artigo exigem permissões de leitura e gravação de `problemas` para {% data variables.product.prodname_github_apps %}. Outras operações podem exigir diferentes permissões. Para obter mais informações, consulte "[Criando um aplicativo GitHub](/developers/apps/building-github-apps/creating-a-github-app)", "[Efetuando a autenticação com aplicativos GitHub](/developers/apps/building-github-apps/authenticating-with-github-apps) e "[Identificando e autorizando os usuários pelos aplicativos GitHub](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)". + +Se você quiser usar a API em um fluxo de trabalho de {% data variables.product.prodname_actions %}, {% data variables.product.company_short %} recomenda que você efetue a autenticação com o `GITHUB_TOKEN` ao invés de criar um token. Você pode conceder permissões para o `GITHUB_TOKEN` com a tecla `permissões`. Para obter mais informações, consulte "[Autenticação automática de tokens](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)". + +### Exemplo de autenticação + +{% cli %} + +Com {% data variables.product.prodname_cli %}, você não precisa criar um token de acesso antecipadamente. Use o subcomando `auth login` para efetuar a autenticação em {% data variables.product.prodname_cli %}: ```shell -$ curl -i https://api.github.com/users/defunkt - -> HTTP/2 200 -> server: GitHub.com -> date: Thu, 08 Jul 2021 07:04:08 GMT -> content-type: application/json; charset=utf-8 -> cache-control: public, max-age=60, s-maxage=60 -> vary: Accept, Accept-Encoding, Accept, X-Requested-With -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" -> last-modified: Fri, 01 Nov 2019 21:56:00 GMT -> x-github-media-type: github.v3; format=json -> access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset -> access-control-allow-origin: * -> strict-transport-security: max-age=31536000; includeSubdomains; preload -> x-frame-options: deny -> x-content-type-options: nosniff -> x-xss-protection: 0 -> referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin -> content-security-policy: default-src 'none' -> x-ratelimit-limit: 60 -> x-ratelimit-remaining: 53 -> x-ratelimit-reset: 1625731053 -> x-ratelimit-resource: core -> x-ratelimit-used: 7 -> accept-ranges: bytes -> content-length: 1305 -> x-github-request-id: 9F60:7019:ACC5CD5:B03C931:60E6A368 -> -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> -> ... -> } +gh auth login ``` -Há algumas partes interessantes nos cabeçalhos da resposta. Como esperado, o `Content-Type` é `application/json`. +Você pode usar o sinalizador `--escopes` para especificar quais escopos você quer. Se você deseja efetuar a autenticação com um token que você criou, você pode usar o sinalizador `--with-token`. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). -Qualquer cabeçalho que começar com `X -` é um cabeçalho personalizado e não está incluído nas especificações de HTTP. Por exemplo, anote os cabeçalhos `X-RateLimit-Limit` e `X-RateLimit-Remaining`. This pair of headers indicate [how many requests a client can make][rate-limiting] in a rolling time period (typically an hour) and how many of those requests the client has already spent. +{% endcli %} -## Autenticação - -Clientes sem autenticação podem fazer 60 solicitações por hora. Para obter mais solicitações por hora, precisaremos _efetuar a autenticação_. In fact, doing anything interesting with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API requires [authentication][authentication]. - -### Usar tokens de acesso pessoal - -A maneira melhor e mais fácil de efetuar a autenticação com a {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API é usando a Autenticação Básica [por meio dos tokens do OAuth](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens). OAuth tokens include [personal access tokens][personal token]. - -Use um sinalizador `-u` para definir o seu nome de usuário: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -Quando solicitado, você poderá inserir o seu token OAuth, mas nós recomendamos que você configure uma variável para isso: - -Você pode usar `-u "your_username:$token"` e configurar uma variável para `token` para evitar deixar seu token no histórico do shell, o que deve ser evitado. - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -Ao efetuar a autenticação, você deverá ver seu limite de taxa disparado para 5.000 slicitações por hora, conforme indicado no cabeçalho `X-RateLimit-Limit`. Além de fornecer mais chamadas por hora, a autenticação permite que você leia e escreva informações privadas usando a API. - -You can easily [create a **personal access token**][personal token] using your [Personal access tokens settings page][tokens settings]: +{% javascript %} {% warning %} -Para ajudar a manter suas informações seguras, é altamente recomendável definir um vencimento para seus tokens de acesso pessoal. +**Warning**: Treat your access token like a password. + +To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. Para obter mais informações, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +{% ifversion ghec or fpt %}Você também pode armazenar seu token como um segredo de {% data variables.product.prodname_codespaces %} e executar seu script em {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. {% endwarning %} -{% ifversion fpt or ghes or ghec %} -![Seleção de Token Pessoal](/assets/images/personal_token.png) +Para efetuar a autenticação com a biblioteca do Octokit.js, você pode passar seu token ao criar uma instância de `Octokit`. Substitua `YOUR-TOKEN` pelo seu token.{% ifversion ghes or ghae %} Substitua `[hostname]` pelo nome de {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +{% endjavascript %} + +{% curl %} + +{% warning %} + +**Warning**: Treat your access token like a password. + +Para ajudar a manter sua conta segura, você pode usar {% data variables.product.prodname_cli %} ao invés de cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + +{% ifversion ghec or fpt %}Você também pode armazenar seu token como um segredo de {% data variables.product.prodname_codespaces %} e usar a linha de comando através de {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + +{% endwarning %} + +Com cURL, você enviará um cabeçalho `Autorização` com seu token. Substitua `YOUR-TOKEN` pelo seu token: + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% note %} + +**Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. Os tokens da web JSON (JWTs) só funcionarão com `Authorization: Bearer`. + +{% endnote %} + +{% endcurl %} + +### Exemplo de autenticação para {% data variables.product.prodname_actions %} + +{% cli %} + +Você também pode usar a palavra-chave `executar` para executar comandos de {% data variables.product.prodname_cli %} nos seus fluxos de trabalho {% data variables.product.prodname_actions %}. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +Em vez de usar o comando de autenticação `gh login`, passe seu token como uma variável de ambiente denominada `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recomenda que você efetue a autenticação com o `GITHUB_TOKEN` integrado em vez de criar um token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api /octocat +``` + +{% endcli %} + +{% javascript %} + +Você também pode usar a palavra-chave `executar` para executar seus scripts do JavaScript nos seus fluxos de trabalho de {% data variables.product.prodname_actions %}. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recomenda que você efetue a autenticação com o `GITHUB_TOKEN` integrado em vez de criar um token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); + +await octokit.request("GET /octocat", {}); +``` + +Em vez de armazenar seu script em um arquivo separado e executar o script do seu fluxo de trabalho, você pode usar a ação `actions/github-script` para executar um script. Para obter mais informações, consulte [actions/github-script README](https://github.com/actions/github-script). + +```yaml +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + await github.request('GET /octocat', {}) +``` + +{% endjavascript %} + +{% curl %} + +Você também pode usar a palavra-chave `executar` para executar comandos do cURL nos fluxos de trabalho {% data variables.product.prodname_actions %}. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recomenda que você efetue a autenticação com o `GITHUB_TOKEN` integrado em vez de criar um token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/octocat" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Usando cabeçalhos + +A maioria das operações especifica que você deve passar um cabeçalho `Aceitar` com um valor de `application/vnd.github.v3+json`. Outras operações podem especificar que você deve enviar um cabeçalho `Aceitar` diferente ou cabeçalhos adicionais. + +{% cli %} + +Para enviar um cabeçalho com {% data variables.product.prodname_cli %}, utilize o sinalizador `--header` ou `-H` seguido pelo formato de cabeçalho em `key: value`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +A biblioteca do Octokit.js passa automaticamente o cabeçalho <`Accept: application/vnd.github.v3+json`. Para passar cabeçalhos adicionais ou um outro cabeçalho `Aceitar`, adicione uma propriedade de `cabeçalhos` ao objeto que é passado como um segundo argumento ao mpetodo de `solicitação`. O valor da propriedade dos `cabeçalhos` propriedade é um objeto com os nomes de cabeçalho como chaves e valores de cabeçalho como valores. Por exemplo, para enviar um cabeçalho `content-type` com um valor de `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +Para enviar um cabeçalho com cURL, use o sinalizador `--header` ou `-H` seguido pelo cabeçalho no formato `key: value`. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +## Usando parâmetros de caminho + +Os parâmetros de caminho modificam o caminho da operação. Por exemplo, o caminho "Listar problemas de repositório" é `/repos/{owner}/{repo}/issues`. As chaves `{}` denotam parâmetros de caminhos que você precisa especificar. Neste caso, você deve especificar o proprietário e o nome do repositório. Para a documentação de referência para esta operação, consulte "[Listar problemas com o repositório](/rest/issues/issues#list-repository-issues)". + +{% cli %} + +{% ifversion ghes or ghae %} +{% note %} + +**Observação:** Para que este comando funcione para {% data variables.product.product_location %}, substitua `octocat/Spoon-Knife` por um repositório pertencente ao {% data variables.product.product_location %}. Caso contrário, execute novamente o comando `gh login` para efetuar a autenticação em {% data variables.product.prodname_dotcom_the_website %} em vez de {% data variables.product.product_location %}. + +{% endnote %} {% endif %} -{% ifversion ghae %} -![Seleção de Token Pessoal](/assets/images/help/personal_token_ghae.png) +Para obter problemas do repositório `octocat/Spoon-Knife`, substitua `{owner}` por `octocat` e `{repo}` por `Spoon-Knife`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +{% ifversion ghes or ghae %} +{% note %} + +**Observação:** Para que este exemplo funcione para {% data variables.product.product_location %}, substitua `octocat/Spoon-Knife` por um repositório pertencente ao {% data variables.product.product_location %}. Caso contrário, crie uma nova instância `Octokit` e não especifique `baseURL`. + +{% endnote %} {% endif %} -As solicitações da API que usam um token de acesso pessoal vencido retornará a data de validade do token por meio do cabeçalho `GitHub-Authentication-Token-Expiration`. Você pode usar o cabeçalho nos seus scripts para fornecer uma mensagem de aviso quando o token estiver próximo da data de vencimento. +Ao fazer uma solicitação com Octokit.js, todos os parâmetros, incluindo os parâmetros de caminho, são passados em um objeto como o segundo argumento para o método `solicitação`. Para obter problemas do repositório `octocat/Spoon-Knife`, especifique `proprietário` como `octocat` e `repo` como `Spoon-Knife`. -### Obtenha seu próprio perfil de usuário - -Quando autenticado corretamente, você pode aproveitar as permissões associadas à sua conta em {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. Por exemplo, tente obter - -```shell -$ curl -i -u your_username:your_token {% data variables.product.api_url_pre %}/user - -> { -> ... -> "plan": { -> "space": 2516582, -> "collaborators": 10, -> "private_repos": 20, -> "name": "medium" -> } -> ... -> } +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); ``` -This time, in addition to the same set of public information we retrieved for [@defunkt][defunkt github] earlier, you should also see the non-public information for your user profile. Por exemplo, você verá um objeto `plano` na resposta, que fornece detalhes sobre o plano de {% data variables.product.product_name %} para a conta. +{% endjavascript %} -### Usar tokens do OAuth para aplicativos +{% curl %} -Os aplicativos que precisam ler ou escrever informações privadas usando a API em nome de outro usuário devem usar o [OAuth][oauth]. +Para obter problemas do repositório `octocat/Spoon-Knife`, substitua `{owner}` por `octocat` e `{repo}` por `Spoon-Knife`. Para criar o caminho completo, preencha a URL de base para a API REST de {% data variables.product.prodname_dotcom %}, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. -O OAuth usa _tokens_. Os tokens fornecem dois grandes recursos: +{% ifversion ghes or ghae %} +{% note %} -* **Acesso revogável**: os usuários podem revogar a autorização a aplicativos de terceiros a qualquer momento -* **Acesso limitado**: os usuários podem revisar o acesso específico que um token fornecerá antes de autorizar um aplicativo de terceiros +**Observação:** Se você quiser usar {% data variables.product.product_location %} em vez de {% data variables.product.prodname_dotcom_the_website %}, use `{% data variables.product.api_url_code %}` em vez de `https://api.github.com` e substitua `[hostname]` pelo nome de {% data variables.product.product_location %}. Substitua `octocat/Spoon-Knife` por um repositório pertencente a {% data variables.product.product_location %}. -Os tokens devem ser criados por meio de um [fluxo web][webflow]. Um aplicativo envia os usuários para {% data variables.product.product_name %} para efetuar o login. {% data variables.product.product_name %} apresenta uma caixa de diálogo, que indica o nome do aplicativo, bem como o nível de acesso que o aplicativo tem uma após ser autorizado pelo usuário. Depois que um usuário autoriza o acesso, {% data variables.product.product_name %} redireciona o usuário de volta para o aplicativo: - -![Diálogo do GitHub's OAuth](/assets/images/oauth_prompt.png) - -**Trate os tokens de OAuth como senhas!** Não compartilhe-os com outros usuários ou armazene-os em lugares inseguros. Os tokens nestes exemplos são falsos e os nomes foram alterados para proteger os inocentes. - -Now that we've got the hang of making authenticated calls, let's move along to the [Repositories API][repos-api]. - -## Repositórios - -Quase qualquer uso significativo da {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API envolverá algum nível de informação do repositório. We can [`GET` repository details][get repo] in the same way we fetched user details earlier: +{% endnote %} +{% endif %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -In the same way, we can [view repositories for the authenticated user][user repos api]: +{% endcurl %} + +A operação retorna uma lista de problemas e dados sobre cada problema. Para obter mais informações sobre como usar a resposta, consulte a seção "[Usando a resposta](#using-the-response). + +## Usando parâmetros de consulta + +Os parâmetros de consulta permitem que você controle quais dados são retornados para uma solicitação. Por exemplo, um parâmetro de consulta pode permitir que você especifique quantos itens são retornados quando a resposta é paginada. + +Por padrão, a operação "Listar problemas do repositório" retorna trinta problemas, ordenados em ordem decrescente pela data em que eles foram criados. Você pode usar o parâmetro `per_page` para retornar dois problemas em vez de 30. Você pode usar o parâmetro `ordenar` para classificar os problemas pela data em que foram atualizados pela última vez de ordenar pela data em que foram criados. Você pode usar o parâmetro `direção` para classificar os resultados em ordem ascendente em vez de descemdente. + +{% cli %} + +Para {% data variables.product.prodname_cli %}, use o sinalizador `-F` para passar um parâmetro que é um número, booleano ou nulo. Use `-f` para passar parâmetros de string + +{% note %} + +**Observação**: {% data variables.product.prodname_cli %} no momento não aceita parâmetros que são matrizes. Para obter mais informações, consulte [este problema](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -Or, we can [list repositories for another user][other user repos api]: +{% endcli %} + +{% javascript %} + +Ao fazer uma solicitação com Octokit.js, todos os parâmetros, incluindo os parâmetros de consulta, são passados em um objeto como o segundo argumento para o método `solicitação`. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +Para o cURL, adicione um `?` ao final do caminho e, em seguida, anexe o nome e o valor do parâmetro de consulta na forma `parameter_name=value`. Separe os parâmetros múltiplos de consulta com `&`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -Or, we can [list repositories for an organization][org repos api]: +{% endcurl %} + +A operação retorna uma lista de problemas e dados sobre cada problema. Para obter mais informações sobre como usar a resposta, consulte a seção "[Usando a resposta](#using-the-response). + +## Usando parâmetros do texto + +Os parâmetros do texto permitem que você passe dados adicionais para a API. Por exemplo, a operação "Criar um problema" exige que você especifique um título para o novo problema. Ela também permite especificar outras informações, como texto para colocar no texto do problema. Para a documentação completa de referência para esta operação, consulte "[Criar um problema](/rest/issues/issues#create-an-issue)". + +A operação "Criar um problema" usa o mesmo caminho da operação "Listar problemas de repositório" nos exemplos acima, mas usa um método `POST` em vez de um método `GET`. + +{% cli %} + +Para {% data variables.product.prodname_cli %}, use o sinalizador `-F` para passar um parâmetro que é um número, booleano ou nulo. Use `-f` para passar parâmetros de string + +{% note %} + +**Observação**: {% data variables.product.prodname_cli %} no momento não aceita parâmetros que são matrizes. Para obter mais informações, consulte [este problema](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -As informações retornadas dessas chamadas dependerão de quais escopos o nosso token terá quando efetuarmos a autenticação: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* A token with `public_repo` [scope][scopes] returns a response that includes all public repositories we have access to see on {% data variables.product.product_location %}. -{%- endif %} -* A token with `repo` [scope][scopes] returns a response that includes all {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories we have access to see on {% data variables.product.product_location %}. +{% javascript %} -As the [docs][repos-api] indicate, these methods take a `type` parameter that can filter the repositories returned based on what type of access the user has for the repository. Desta forma, podemos buscar apenas repositórios de propriedade direta, repositórios da organização ou repositórios nos quais o usuário colabora por meio de uma equipe. +Ao fazer uma solicitação com Octokit.js, todos os parâmetros, incluindo os parâmetros de texto, são passados em um objeto como o segundo argumento para o método `solicitação`. + +```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 o cURL, use o sinalizador `--data` para passar os parâmetros de texto em um objeto do JSON. ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -Neste exemplo, pegamos apenas os repositórios que o octocat possui, não os nos quais ela colabora. Observe a URL entre aspas acima. Dependendo de sua configuração do shell, a cURL às vezes exigirá uma URL entre aspas ou irá ignorar a string de consulta. +{% endcurl %} -### Criar um repositório +A operação cria um problema e retorna dados sobre o novo problema. Na resposta, encontre o `html_url` do seu problema e acesse o seu problema no navegador. Para obter mais informações sobre como usar a resposta, consulte a seção "[Usando a resposta](#using-the-response). -Buscar informações para repositórios existentes é um caso de uso comum, mas a -{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} A API é compatível com a criação de novos repositórios também. To [create a repository][create repo], -precisamos `POST` alguns JSON que contém informações e opções de configuração. +## Usando a resposta + +### Sobre o código de resposta e cabeçalhos + +Cada solicitação retornará um código de status HTTP que indica o sucesso da resposta. Para obter mais informações sobre códigos de resposta, consulte [a documentação de código de status de resposta de HTTP MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Além disso, a resposta incluirá cabeçalhos que fornecem mais detalhes sobre a resposta. Os cabeçalhos que começam com `X-` ou `x-` são personalizados para {% data variables.product.company_short %}. Por exemplo, os cabeçalhos `x-ratelimit-remaining` e `x-ratelimit-reset` mostram quantas solicitações você pode fazer em um período de tempo. + +{% cli %} + +Para ver o código de status e os cabeçalhos, use o sinalizador `--include` ou `--i` ao enviar sua solicitação. + +Por exemplo, essa solicitação: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -In this minimal example, we create a new private repository for our blog (to be served on [GitHub Pages][pages], perhaps). Embora o blogue {% ifversion not ghae %}seja público{% else %}, ele pode ser acessado por todos os integrantes da empresa{% endif %}, tornamos o repositório privado. In this single step, we'll also initialize it with a README and a [nanoc][nanoc]-flavored [.gitignore template][gitignore templates]. - -O repositório resultante será encontrado em `https://github.com//blog`. Para criar um repositório sob uma organização da qual você é proprietário, altere apenas o método API de `/user/repos` para `/orgs//repos`. - -Em seguida, vamos buscar nosso repositório recém-criado: +retorna o código de resposta e cabeçalhos como: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -Ah não! Onde ele foi parar? Uma vez que criamos o repositório como _privado_, precisamos autenticá-lo para poder vê-lo. Se você é um usuário de HTTP, você pode esperar um `403`. Como não queremos vazar informações sobre repositórios privados, a API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} retorna `404` neste caso, como se dissesse "não podemos nem confirmar nem negar a existência deste repositório". +Neste exemplo, o código de resposta é `200`, o que indica uma solicitação bem-sucedida. -## Problemas +{% endcli %} -A interface de usuário para problemas no {% data variables.product.product_name %} visa a fornecer fluxo de trabalho "apenas suficiente" enquanto permanece fora de seu caminho. With the {% data variables.product.product_name %} [Issues API][issues-api], you can pull data out or create issues from other tools to create a workflow that works for your team. +{% javascript %} -Assim como o github.com, a API fornece alguns métodos para exibir problemas para o usuário autenticado. To [see all your issues][get issues api], call `GET /issues`: +Ao fazer uma solicitação com o Octokit.js, o método `solicitação` retorna uma promessa. If the request was successful, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`headers`). If an error occurs, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`response.headers`). + +Você pode usar um bloco `try/catch` para capturar um erro, caso ocorra. Por exemplo, se o pedido no script seguinte for bem-sucedido, o script registrará o código de status e o valor do cabeçalho `x-ratelimit-restante`. If the request was not successful, the script will log the status code, the value of the `x-ratelimit-remaining` header, and the error message. + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + console.log(`Success! Status: ${result.status}. Rate limit remaining: ${result.headers["x-ratelimit-remaining"]}`) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Rate limit remaining: ${error.headers["x-ratelimit-remaining"]}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +Para ver o código de status e os cabeçalhos, use o sinalizador `--include` ou `--i` ao enviar sua solicitação. + +Por exemplo, essa solicitação: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -To get only the [issues under one of your {% data variables.product.product_name %} organizations][get issues api], call `GET -/orgs//issues`: +retorna o código de resposta e cabeçalhos como: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -We can also get [all the issues under a single repository][repo issues api]: +Neste exemplo, o código de resposta é `200`, o que indica uma solicitação bem-sucedida. + +{% endcurl %} + +### Sobre o texto de resposta + +Muitas operações retornarão um texto de resposta. A menos que seja especificado, o texto da resposta está em formato JSON. Por exemplo, esta solicitação retorna uma lista de problemas com dados sobre cada problema: + +{% cli %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -### Paginação +{% endcli %} -Um projeto do tamanho de Rails tem milhares de problemas. We'll need to [paginate][pagination], making multiple API calls to get the data. Vamos repetir essa última chamada, anotando os cabeçalhos de resposta: +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -The [`Link` header][link-header] provides a way for a response to link to external resources, in this case additional pages of data. Como nossa chamada encontrou mais de trinta problemas (o tamanho da página padrão), a API nos informa onde podemos encontrar a próxima página e a última página de resultados. +{% endcurl %} -### Criar um problema +Unlike the GraphQL API where you specify what information you want, the REST API typically returns more information than you need. If desired, you can parse the response to pull out specific pieces of information. -Now that we've seen how to paginate lists of issues, let's [create an issue][create issue] from the API. +{% cli %} -Para criar um problema, precisamos estar autenticados. Portanto, passaremos um token do OAuth no cabeçalho. Além disso, passaremos o título, texto, e as etiquetas no texto do JSON para o caminho `/issues` abaixo do repositório em que queremos criar o problema: +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json ``` -A resposta nos dá algumas indicações sobre a questão recém-criada, tanto no cabeçalho de resposta da `Localização` quanto no campo `url` da resposta do JSON. - -## Solicitações condicionais - -Uma grande parte de ser um bom cidadão da API é respeitar os limites de taxa por meio de armazenamento de informações que não mudaram. The API supports [conditional requests][conditional-requests] and helps you do the right thing. Considere a primeira chamada de que fizemos para obter o perfil de defunkt: +Em seguida, você pode usar jq para obter o título e o ID do autor de cada problema: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +jq '.[] | {title: .title, authorID: .user.id}' data.json ``` -Além do texto do JSON, anote o código de status de HTTP de `200` e o cabeçalho `ETag`. The [ETag][etag] is a fingerprint of the response. Se passarmos isso em chamadas subsequentes, podemos dizer à API para nos dar o recurso novamente, somente se tiver mudado: +Os dois comandos anteriores retornam algo parecido a: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +Para obter mais informações sobre jq, consulte [a documentação do jq](https://stedolan.github.io/jq/) e [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +Por exemplo, você pode obter o ID do autor e título de cada problema: + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json ``` -O status `304` indica que o recurso não mudou desde a última vez que pedimos e a resposta não conterá texto. As a bonus, `304` responses don't count against your [rate limit][rate-limiting]. +Em seguida, você pode usar jq para obter o título e o ID do autor de cada problema: -Agora você sabe o básico da API {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %}! +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` -* Autenticação básica do & OAuth -* Buscar e criar de repositórios e problemas -* Solicitações condicionais +Os dois comandos anteriores retornam algo parecido a: -Keep learning with the next API guide [Basics of Authentication][auth guide]! +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[oauth]: /apps/building-integrations/setting-up-and-registering-oauth-apps/ -[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ -[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ -[repos-api]: /rest/reference/repos -[repos-api]: /rest/reference/repos -[pages]: http://pages.github.com -[nanoc]: http://nanoc.ws/ -[gitignore templates]: https://github.com/github/gitignore -[issues-api]: /rest/reference/issues -[link-header]: https://www.w3.org/wiki/LinkHeader -[conditional-requests]: /rest#conditional-requests -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[users api]: /rest/reference/users#get-a-user -[defunkt github]: https://github.com/defunkt -[defunkt github]: https://github.com/defunkt -[json]: http://en.wikipedia.org/wiki/JSON -[authentication]: /rest#authentication -[personal token]: /articles/creating-an-access-token-for-command-line-use -[personal token]: /articles/creating-an-access-token-for-command-line-use -[tokens settings]: https://github.com/settings/tokens -[pagination]: /rest#pagination -[get repo]: /rest/reference/repos#get-a-repository -[create repo]: /rest/reference/repos#create-a-repository-for-the-authenticated-user -[create issue]: /rest/reference/issues#create-an-issue -[auth guide]: /guides/basics-of-authentication -[user repos api]: /rest/reference/repos#list-repositories-for-the-authenticated-user -[other user repos api]: /rest/reference/repos#list-repositories-for-a-user -[org repos api]: /rest/reference/repos#list-organization-repositories -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[repo issues api]: /rest/reference/issues#list-repository-issues -[etag]: http://en.wikipedia.org/wiki/HTTP_ETag +Para obter mais informações sobre jq, consulte [a documentação do jq](https://stedolan.github.io/jq/) e [jq play](https://jqplay.org/). + +{% endcurl %} + +## Próximas etapas + +Este artigo demonstrou como listar e criar problemas em um repositório. Para mais adquirir prática, tente comentar sobre um problema, editar o título de um problema ou fechar um problema. Para obter mais informações sobre essas operações, consulte "[Criar um comentário de problema](/rest/issues#create-an-issue-comment)" e "[Atualizar um problema](/rest/issues/issues#update-an-issue)". + +Para obter mais informações sobre as operações que você pode usar, consulte a [documentação de referência de REST](/rest). diff --git a/translations/pt-BR/content/rest/index.md b/translations/pt-BR/content/rest/index.md index e71c82453c..9242b32bba 100644 --- a/translations/pt-BR/content/rest/index.md +++ b/translations/pt-BR/content/rest/index.md @@ -3,7 +3,8 @@ title: API de REST do GitHub shortTitle: API REST intro: 'Para criar integrações, recuperar dados e automatizar seus fluxos de trabalho, crie com a API REST de {% data variables.product.prodname_dotcom %}.' introLinks: - quickstart: /rest/guides/getting-started-with-the-rest-api + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api featuredLinks: guides: - /rest/guides/getting-started-with-the-rest-api @@ -31,6 +32,7 @@ versions: ghae: '*' ghec: '*' children: + - /quickstart - /overview - /guides - /actions diff --git a/translations/pt-BR/content/rest/orgs/security-managers.md b/translations/pt-BR/content/rest/orgs/security-managers.md index 9385167d76..09febe3b35 100644 --- a/translations/pt-BR/content/rest/orgs/security-managers.md +++ b/translations/pt-BR/content/rest/orgs/security-managers.md @@ -1,10 +1,10 @@ --- -title: Security Managers +title: Gerentes de segurança intro: '' versions: fpt: '*' ghes: '>=3.7' - ghae: 'issue-7691' + ghae: issue-7691 ghec: '*' topics: - API diff --git a/translations/pt-BR/content/rest/projects/cards.md b/translations/pt-BR/content/rest/projects/cards.md index 893d6413c5..76af8dae46 100644 --- a/translations/pt-BR/content/rest/projects/cards.md +++ b/translations/pt-BR/content/rest/projects/cards.md @@ -1,8 +1,8 @@ --- -title: '{% data variables.product.prodname_project_v1_caps %} cards' +title: 'Cartões de {% data variables.product.prodname_project_v1_caps %}' shortTitle: Cartões allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_project_v1 %} cards API lets you create and manage cards on a {% data variables.projects.projects_v1_board %}.' +intro: 'A API de cartões de {% data variables.product.prodname_project_v1 %} permite que você crie e gerencie cartões em um {% data variables.projects.projects_v1_board %}.' versions: fpt: '*' ghes: '*' diff --git a/translations/pt-BR/content/rest/projects/collaborators.md b/translations/pt-BR/content/rest/projects/collaborators.md index 1f9ddf287a..c8673b69a2 100644 --- a/translations/pt-BR/content/rest/projects/collaborators.md +++ b/translations/pt-BR/content/rest/projects/collaborators.md @@ -1,8 +1,8 @@ --- -title: '{% data variables.product.prodname_project_v1_caps %} collaborators' +title: 'colaboradores de {% data variables.product.prodname_project_v1_caps %}' shortTitle: Colaboradores allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_project_v1 %} collaborators API lets you manage collaborators on a {% data variables.projects.projects_v1_board %}.' +intro: 'A API de colaboradores de {% data variables.product.prodname_project_v1 %} permite que você gerencie os colaboradores em um {% data variables.projects.projects_v1_board %}.' versions: fpt: '*' ghes: '*' diff --git a/translations/pt-BR/content/rest/projects/columns.md b/translations/pt-BR/content/rest/projects/columns.md index fabf2f3daf..390e1daaff 100644 --- a/translations/pt-BR/content/rest/projects/columns.md +++ b/translations/pt-BR/content/rest/projects/columns.md @@ -1,8 +1,8 @@ --- -title: '{% data variables.product.prodname_project_v1_caps %} columns' +title: 'colunas de {% data variables.product.prodname_project_v1_caps %}' shortTitle: Colunas allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_project_v1 %} columns API lets you create and manage columns on a {% data variables.projects.projects_v1_board %}.' +intro: 'A API de colunas {% data variables.product.prodname_project_v1 %} permite que você crie e gerencie as colunas em um {% data variables.projects.projects_v1_board %}.' versions: fpt: '*' ghes: '*' diff --git a/translations/pt-BR/content/rest/projects/index.md b/translations/pt-BR/content/rest/projects/index.md index 7064fbb384..376f470c15 100644 --- a/translations/pt-BR/content/rest/projects/index.md +++ b/translations/pt-BR/content/rest/projects/index.md @@ -1,6 +1,6 @@ --- title: '{% data variables.product.prodname_projects_v1_caps %}' -intro: 'The {% data variables.product.prodname_projects_v1 %} API lets you create, list, update, delete and customize {% data variables.projects.projects_v1_boards %}.' +intro: 'A API de {% data variables.product.prodname_projects_v1 %} permite que você crie, liste, atualize, esxclua e personalize {% data variables.projects.projects_v1_boards %}.' redirect_from: - /v3/projects - /rest/reference/projects diff --git a/translations/pt-BR/content/rest/projects/projects.md b/translations/pt-BR/content/rest/projects/projects.md index 64cddc91ad..e4fa7aa4d4 100644 --- a/translations/pt-BR/content/rest/projects/projects.md +++ b/translations/pt-BR/content/rest/projects/projects.md @@ -2,7 +2,7 @@ title: '{% data variables.product.prodname_projects_v1_caps %}' shortTitle: Quadros allowTitleToDifferFromFilename: true -intro: 'The {% data variables.product.prodname_projects_v1 %} API lets you create and manage {% data variables.projects.projects_v1_boards %} in a repository.' +intro: 'A API de {% data variables.product.prodname_projects_v1 %} permite criar e gerenciar {% data variables.projects.projects_v1_boards %} em um repositório.' versions: fpt: '*' ghes: '*' diff --git a/translations/pt-BR/content/rest/quickstart.md b/translations/pt-BR/content/rest/quickstart.md new file mode 100644 index 0000000000..70914d0a04 --- /dev/null +++ b/translations/pt-BR/content/rest/quickstart.md @@ -0,0 +1,351 @@ +--- +title: Início rápido para a API REST do GitHub +intro: 'Saiba como começar com a API 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 +--- + +Esse artigo descreve como começar rapidamente com a API REST de {% data variables.product.prodname_dotcom %} usando {% data variables.product.prodname_cli %}, JavaScript ou cURL. Para um guia mais detalhado, consulte "[Primeiros passos com a API REST](/rest/guides/getting-started-with-the-rest-api)." + +{% cli %} + +## Primeiros passos para usar o {% data variables.product.prodname_cli %} + +### Usando {% data variables.product.prodname_cli %} na linha de comando + +{% data variables.product.prodname_cli %} is the easiest way to use the {% data variables.product.prodname_dotcom %} REST API from the command line. + +1. Install {% data variables.product.prodname_cli %} if you haven't installed it yet. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). +1. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Use the `api` subcommand to make your API request. For more information, see the [{% data variables.product.prodname_cli %} `api` documentation](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Using {% data variables.product.prodname_cli %} in {% data variables.product.prodname_actions %} + +You can also use {% data variables.product.prodname_cli %} in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Using GitHub CLI in workflows](/actions/using-workflows/using-github-cli-in-workflows)." + +Instead of using the `gh auth login` command, pass an access token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. Você pode encontrar o ID do seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. Para obter mais informações, consulte "[Aplicativos](/rest/apps/apps#get-an-app)". Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". +1. Gerar uma chave privada para o seu aplicativo. Store the contents of the resulting file as a secret. (Armazene todo o conteúdo do arquivo, incluindo `-----BEGIN RSA PRIVATE KEY-----` e `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. Para obter mais informações, consulte "[Efetuando a autenticação com o {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. Por exemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +## Getting started using JavaScript + +You can use Octokit.js to interact with the {% data variables.product.prodname_dotcom %} REST API in your JavaScript scripts. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +### Using Octokit.js + +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see the "[Using Octokit.js in {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)" section. + + {%- ifversion fpt or ghec %} + + You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Install `octokit`. For example, `npm install octokit`. For other ways to install or load `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Import `octokit` in your script. For example, `import { Octokit } from "octokit";`. For other ways to import `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Create an instance of `Octokit` with your token. Replace `YOUR-TOKEN` with your token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Use `octokit.request` to execute your request. Send the HTTP method and path as the first argument. Specify any path, query, and body parameters in an object as the second argument. For example, in the following request the HTTP method is `GET`, the path is `/repos/{owner}/{repo}/issues`, and the parameters are `owner: "octocat"` and `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Using Octokit.js in {% data variables.product.prodname_actions %} + +You can also execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit" + +const octokit = new Octokit({ + auth: process.env.TOKEN +}); + +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. Você pode encontrar o ID do seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. Para obter mais informações, consulte "[Aplicativos](/rest/apps/apps#get-an-app)". Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". +1. Gerar uma chave privada para o seu aplicativo. Store the contents of the resulting file as a secret. (Armazene todo o conteúdo do arquivo, incluindo `-----BEGIN RSA PRIVATE KEY-----` e `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. Para obter mais informações, consulte "[Efetuando a autenticação com o {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. Por exemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Getting started using cURL + +### Using cURL in the command line + +{% note %} + +**Note:** If you want to make API requests from the command line, {% data variables.product.prodname_dotcom %} recommends that you use {% data variables.product.prodname_cli %}, which simplifies authentication and requests. For more information about getting started with the REST API using {% data variables.product.prodname_cli %}, see the {% data variables.product.prodname_cli %} version of this article. + +{% endnote %} + +1. Install cURL if cURL isn't already installed on your machine. To check if cURL is installed, execute `curl --version` in the command line. If the output is information about the cURL version, cURL is installed. If you get a message similar to `command not found: curl`, you need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + {%- ifversion fpt or ghec %} + + To keep your token secure, you can store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + You can also use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Use the `cURL` command to make your request. Pass your token in an `Authorization` header. Replace `YOUR-TOKEN` with your token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) only work with `Authorization: Bearer`. + + {% endnote %} + +### Using cURL in {% data variables.product.prodname_actions %} + +You can also use cURL in your {% data variables.product.prodname_actions %} workflows. + +{% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. Você pode encontrar o ID do seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. Para obter mais informações, consulte "[Aplicativos](/rest/apps/apps#get-an-app)". Para obter mais informações sobre segredos, consulte "[Segredos criptografados](/actions/security-guides/encrypted-secrets)". +1. Gerar uma chave privada para o seu aplicativo. Store the contents of the resulting file as a secret. (Armazene todo o conteúdo do arquivo, incluindo `-----BEGIN RSA PRIVATE KEY-----` e `-----END RSA PRIVATE KEY-----`.) In the following example, replace `APP_PEM` with the name of the secret. Para obter mais informações, consulte "[Efetuando a autenticação com o {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)". +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. Por exemplo: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Próximas etapas + +Para um guia mais detalhado, consulte "[Primeiros passos com a API REST](/rest/guides/getting-started-with-the-rest-api)." diff --git a/translations/pt-BR/content/rest/teams/external-groups.md b/translations/pt-BR/content/rest/teams/external-groups.md index 03ed927246..1ada12fe56 100644 --- a/translations/pt-BR/content/rest/teams/external-groups.md +++ b/translations/pt-BR/content/rest/teams/external-groups.md @@ -19,7 +19,7 @@ Para usar esta API, o usuário autenticado deve ser um mantenedor de equipe ou u **Notas:** -- A API de grupos externos está disponível apenas para organizações que fazem parte de uma empresa que usa {% data variables.product.prodname_emus %}. Para obter mais informações, consulte[Sobre usuários gerenciados pela empresa](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)". +- The external groups API is only available for organizations that are part of an enterprise using {% data variables.product.prodname_emus %}. Para obter mais informações, consulte[Sobre usuários gerenciados pela empresa](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)". - Se sua organização usar a sincronização de equipe, você poderá usar a API de sincronização de equipe. Para obter mais informações, consulte "[API de sincronização de equipe](#team-synchronization)". {% endnote %} diff --git a/translations/pt-BR/content/rest/webhooks/index.md b/translations/pt-BR/content/rest/webhooks/index.md index 12d70969a4..97fb7ce394 100644 --- a/translations/pt-BR/content/rest/webhooks/index.md +++ b/translations/pt-BR/content/rest/webhooks/index.md @@ -70,9 +70,9 @@ Solicitações do PubSubHubbub podem ser enviadas várias vezes. Se o hook já e #### Parâmetros -| Nome | Tipo | Descrição | -| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `hub.mode` | `string` | **Obrigatório**. `Assine` ou `cancele a assinatura`. | -| `hub.topic` | `string` | **Obrigatório**. A URI do repositório do GitHub a ser assinada. O caminho deve estar no formato `/{owner}/{repo}/events/{event}`. | -| `hub.callback` | `string` | A URI para receber as atualizações do tópico. | -| `hub.secret` | `string` | Uma chave de segredo compartilhado que gera uma assinatura de hash do conteúdo de saída do texto. You can verify a push came from GitHub by comparing the raw request body with the contents of the {% ifversion fpt or ghes or ghec %}`X-Hub-Signature` or `X-Hub-Signature-256` headers{% elsif ghae %}`X-Hub-Signature-256` header{% endif %}. Você pode ver [a documentação do PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) para obter mais informações. | +| Nome | Tipo | Descrição | +| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `hub.mode` | `string` | **Obrigatório**. `Assine` ou `cancele a assinatura`. | +| `hub.topic` | `string` | **Obrigatório**. A URI do repositório do GitHub a ser assinada. O caminho deve estar no formato `/{owner}/{repo}/events/{event}`. | +| `hub.callback` | `string` | A URI para receber as atualizações do tópico. | +| `hub.secret` | `string` | Uma chave de segredo compartilhado que gera uma assinatura de hash do conteúdo de saída do texto. Você pode verificar se um push veio do GitHub comparando o texto da solicitação não processada com o conteúdo dos cabeçalhos {% ifversion fpt or ghes or ghec %}`X-Hub-Signature` ou `X-Hub-Signature-256` {% elsif ghae %}`X-Hub-Signature-256` cabeçalho{% endif %}. Você pode ver [a documentação do PubSubHubbub](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) para obter mais informações. | diff --git a/translations/pt-BR/content/search-github/searching-on-github/finding-files-on-github.md b/translations/pt-BR/content/search-github/searching-on-github/finding-files-on-github.md index db96c2f487..fe598716c1 100644 --- a/translations/pt-BR/content/search-github/searching-on-github/finding-files-on-github.md +++ b/translations/pt-BR/content/search-github/searching-on-github/finding-files-on-github.md @@ -18,12 +18,12 @@ topics: **Dicas:** -- By default, file finder results exclude some directories like `build`, `log`, `tmp`, and `vendor`. To search for files in these directories, use the [`filename` code search qualifier](/search-github/searching-on-github/searching-code#search-by-filename).{% ifversion file-finder-exclusion-controls %} Alternatively, you can customize which directories are excluded by default [using a `.gitattributes` file](#customizing-excluded-files).{% endif %} +- Por padrão, os resultados da busca de arquivos excluem alguns diretórios como `criar`, `log`, `tmp` e `fornecedor`. To search for files in these directories, use the [`filename` code search qualifier](/search-github/searching-on-github/searching-code#search-by-filename).{% ifversion file-finder-exclusion-controls %} Alternatively, you can customize which directories are excluded by default [using a `.gitattributes` file](#customizing-excluded-files).{% endif %} - É possível também abrir o file finder (localizador de arquivos) digitando `t` no teclado. Para obter mais informações, consulte "[Atalhos de teclado](/articles/keyboard-shortcuts)". {% endtip %} -## Using the file finder +## Usando o buscador de arquivos {% data reusables.repositories.navigate-to-repo %} 2. Acima da lista de arquivos, clique em **Ir para o arquivo**. ![Botão Find file (Localizar arquivo)](/assets/images/help/search/find-file-button.png) @@ -32,9 +32,9 @@ topics: {% ifversion file-finder-exclusion-controls %} -## Customizing excluded files +## Personalizando arquivos excluídos -By default, file finder results do not include files in the following directories if they exist at your repository root: +Por padrão, os resultados do buscador de arquivos não incluem arquivos nos seguintes diretórios se eles existem na raiz do repositório: - `.git` - `.hg` @@ -46,22 +46,22 @@ By default, file finder results do not include files in the following directorie - `tmp` - `vendor` -You can override these default exclusions using a `.gitattributes` file. +Você pode substituir estas exclusões padrão usando um arquivo `.gitattributes`. -To do this, create or update a file called `.gitattributes` in your repository root, setting the [`linguist-generated`](https://github.com/github/linguist/blob/master/docs/overrides.md) attribute to `false` for each directory that should be included in file finder results. +Para fazer isso, crie ou atualize um arquivo denominado `.gitattributes` na raiz do seu repositório, definindo o atrivuto [`linguist-generated`](https://github.com/github/linguist/blob/master/docs/overrides.md) como `falso` para cada diretório que deve ser incluído nos resultados do busca de arquivos. -For example, the following `.gitattributes` file would cause files in the `build/` directory to be available to the file finder: +Por exemplo, o seguinte arquivo `.gitattributes` faria com que os arquivos no diretório `build/` estivessem disponíveis no gerenciador de arquivos: ``` build/** linguist-generated=false ``` -Note that this override requires the use of the recursive glob pattern (`**`). For more information, see "[pattern format](https://git-scm.com/docs/gitignore#_pattern_format)" in the Git documentation. More complex overrides of subdirectories within excluded-by-default directories are not supported. +Observe que esta substituição exige o uso do padrão glob recursivo (`**`). Para obter mais informações, consulte "[formato padrão](https://git-scm.com/docs/gitignore#_pattern_format)" na documentação do Git. As substituições mais complexas de subdiretórios dentro de diretórios excluídos por padrão não são compatíveis. {% endif %} ## Leia mais -- "[About searching on GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github)"{% ifversion file-finder-exclusion-controls %} -- "[Customizing how changed files appear on GitHub](/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github)" -- [`.gitattributes`](https://git-scm.com/docs/gitattributes) in the Git documentation{% endif %} +- "[Sobre a pesquisa no GitHub](/search-github/getting-started-with-searching-on-github/about-searching-on-github)"{% ifversion file-finder-exclusion-controls %} +- "[Personalizando como arquivos alterados aparecem no GitHub](/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github)" +- [`.gitattributes`](https://git-scm.com/docs/gitattributes) na documentação do Git{% endif %} diff --git a/translations/pt-BR/content/site-policy/github-terms/github-community-code-of-conduct.md b/translations/pt-BR/content/site-policy/github-terms/github-community-code-of-conduct.md index 67b7c23fa5..92a231b993 100644 --- a/translations/pt-BR/content/site-policy/github-terms/github-community-code-of-conduct.md +++ b/translations/pt-BR/content/site-policy/github-terms/github-community-code-of-conduct.md @@ -1,5 +1,5 @@ --- -title: GitHub Community Code of Conduct +title: Código de Conduta da Comunidade GitHub redirect_from: - /articles/github-community-forum-code-of-conduct - /github/site-policy/github-community-forum-code-of-conduct @@ -16,7 +16,7 @@ topics: Milhões de desenvolvedores em todo o mundo hospedam milhões de projetos, tanto de código aberto como de código fechado, no GitHub. Nós temos sorte de poder participar da colaboração em toda a comunidade de desenvolvedores todos os dias que é uma responsabilidade que não aceitamos de de forma leviana. Juntos, todos nós temos a oportunidade interessante de fazer desta uma comunidade de que nos podemos orgulhar. -GitHub Community, powered by GitHub Discussions, is intended to be a place for further collaboration, support, and brainstorming. Este é um lugar civilizado para se conectar com outros usuários, aprender novas habilidades, compartilhar feedbacks e ideias e encontrar todo o suporte necessário para seus projetos do GitHub. By participating in GitHub Community, you are agreeing to the same [Terms of Service](/github/site-policy/github-terms-of-service/) and [GitHub Acceptable Use Policies](/github/site-policy/github-acceptable-use-policies) that apply to GitHub.com, as well as this GitHub Community-specific Code of Conduct. +A comunidade do GitHub, com base em Discussões do GitHub, destina-se a ser um lugar para mais colaboração, suporte e levantamento de ideias. Este é um lugar civilizado para se conectar com outros usuários, aprender novas habilidades, compartilhar feedbacks e ideias e encontrar todo o suporte necessário para seus projetos do GitHub. By participating in GitHub Community, you are agreeing to the same [Terms of Service](/github/site-policy/github-terms-of-service/) and [GitHub Acceptable Use Policies](/github/site-policy/github-acceptable-use-policies) that apply to GitHub.com, as well as this GitHub Community-specific Code of Conduct. With this Code of Conduct, we hope to help you understand how best to collaborate in GitHub Community, what you can expect from moderators, and what type of actions or content may result in temporary or permanent suspension from community participation. We will investigate any abuse reports and may moderate public content within GitHub Community that we determine to be in violation of either the GitHub Terms of Service or this Code of Conduct. diff --git a/translations/pt-BR/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md b/translations/pt-BR/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md index 94d34f2600..328e5c22c2 100644 --- a/translations/pt-BR/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md +++ b/translations/pt-BR/content/site-policy/other-site-policies/guidelines-for-legal-requests-of-user-data.md @@ -174,7 +174,7 @@ c/o Corporation Service Company 2710 Gateway Oaks Drive, Suite 150N Sacramento, CA 95833-3505 ``` -Courtesy copies may be emailed to legal-support@github.com +Cópias de cortesia podem ser enviadas para legal-support@github.com Por favor, faça suas solicitações da forma mais específica e breve quanto for possível, incluindo as seguintes informações: diff --git a/translations/pt-BR/content/site-policy/privacy-policies/github-privacy-statement.md b/translations/pt-BR/content/site-policy/privacy-policies/github-privacy-statement.md index 97b0499ba3..d0573033e7 100644 --- a/translations/pt-BR/content/site-policy/privacy-policies/github-privacy-statement.md +++ b/translations/pt-BR/content/site-policy/privacy-policies/github-privacy-statement.md @@ -289,22 +289,22 @@ Embora a tabela abaixo contenha informações sobre as categorias de informaçõ | Dados de geolocalização (como qualquer informação coletada após dar aos usuários a oportunidade de optar por serviços baseados na localização, que dependem dos serviços de localização precisos de um dispositivo. ) | Informação que o consumidor fornece automaticamente através da interação com os nossos Serviços | | Informações de áudio, eletrônicas, visuais ou similares, como conteúdo e arquivos enviados para o Serviço. | Informações que o consumidor pode optar por fornecer diretamente | | Informações profissionais ou de emprego | Informações que o consumidor pode optar por fornecer diretamente | -| Inferences drawn from any of the information identified in this table to create a profile about a consumer reflecting the consumer’s preferences | Informação que o consumidor fornece direta ou automaticamente através da interação com os nossos Serviços | +| Inferências extraídas de qualquer informação identificada nesta tabela para criar um perfil sobre um consumidor que reflete as preferências do consumidor | Informação que o consumidor fornece direta ou automaticamente através da interação com os nossos Serviços | -We use the categories of personal information described above for the purposes listed in the [“How GitHub uses your information”](/github/site-policy/github-privacy-statement#how-github-uses-your-information) section of our Privacy Statement. We also disclose the categories of personal information listed above for business purposes. Please see the [“How we share the information we collect”](/github/site-policy/github-privacy-statement#how-we-share-the-information-we-collect) section of our Privacy Statement for additional details. +Usamos as categorias de informações pessoais descritas acima para os fins listados na seção ["Como o GitHub usa suas informações"](/github/site-policy/github-privacy-statement#how-github-uses-your-information) da nossa Declaração de Privacidade. Também divulgamos as categorias de informações pessoais listadas acima para fins comerciais. Consulte a seção ["Como compartilhamos as informações que coletamos"](/github/site-policy/github-privacy-statement#how-we-share-the-information-we-collect) da nossa Declaração de Privacidade para obter detalhes adicionais. ### Não vendemos suas informações pessoais -De acordo com a CCPA, um negócio que consiste na venda de informações pessoais de residentes da Califórnia para outros: 1) deve avisar os residentes da Califórnia antes de vender suas informações pessoais para outros; e 2) deve fornecer o direito de opt-out (autoexclusão) pela venda de suas informações pessoais. GitHub does not sell personal information, including personal information of anyone under 16 years old. +De acordo com a CCPA, um negócio que consiste na venda de informações pessoais de residentes da Califórnia para outros: 1) deve avisar os residentes da Califórnia antes de vender suas informações pessoais para outros; e 2) deve fornecer o direito de opt-out (autoexclusão) pela venda de suas informações pessoais. O Github não vende informações pessoais, incluindo informações pessoais de menores de 16 anos. ### Seus direitos sob a CCPA A CCPA fornece aos residentes da Califórnia certos direitos relacionados às suas informações pessoais. Para enviar uma solicitação com base nesses direitos, entre em contato conosco por meio do nosso [formulário de contato](https://support.github.com/contact?tags=docs-policy). -Ao receber uma solicitação, verificaremos se o indivíduo que fez a solicitação é o residente a quem pertencem as informações pessoais sujeitas à solicitação. California residents may exercise their rights themselves or may use an authorized agent, designated in writing or through a power of attorney, to make requests on their behalf. If you use an authorized agent to submit a request, we may require that you provide us additional information demonstrating that the agent is acting on your behalf, and we may need you to verify your identity directly with us. With respect to your personal information, California residents may exercise the rights described below. -#### Right to Know. -You have a right to request that we disclose to you the personal information we have collected about you. Você também tem o direito de solicitar informações adicionais sobre nossa coleta, uso, divulgação ou venda dessas informações pessoais. Observe que fornecemos muitas dessas informações nesta declaração de privacidade. Você pode usar a API de Migração do Usuário GitHub para acessar e fazer o download dos seus dados. Saiba mais aqui. Você também pode fazer esse "pedido de conhecimento" entrando em contato conosco aqui. +Ao receber uma solicitação, verificaremos se o indivíduo que fez a solicitação é o residente a quem pertencem as informações pessoais sujeitas à solicitação. Os residentes da Califórnia podem exercer seus direitos eles mesmos ou utilizar um agente autorizado, designado por escrito ou por meio de um advogado, para fazer pedidos em seu nome. Se você usar um agente autorizado para enviar uma solicitação podemos exigir que você nos forneça informações adicionais que demonstrem que o agente está agindo em seu nome, e talvez seja necessário que você verifique sua identidade diretamente conosco. Com relação às suas informações pessoais, os residentes da Califórnia podem exercer os direitos descritos abaixo. +#### Direito de saber. +Você tem o direito de solicitar que divulgamos para você as informações pessoais que coletamos sobre você. Você também tem o direito de solicitar informações adicionais sobre nossa coleta, uso, divulgação ou venda dessas informações pessoais. Observe que fornecemos muitas dessas informações nesta declaração de privacidade. Você pode usar a API de Migração do Usuário GitHub para acessar e fazer o download dos seus dados. Saiba mais aqui. Você também pode fazer esse "pedido de conhecimento" entrando em contato conosco aqui. #### Direito de solicitar a exclusão. Você também tem o direito de solicitar que excluamos informações pessoais em certas circunstâncias, sujeitas a várias exceções. Para fazer um pedido de exclusão, você pode usar a API de migração de usuário do GitHub para acessar e fazer o download dos seus dados. Saiba mais aqui. Você também pode fazer esse "pedido de exclusão" entrando em contato conosco aqui. @@ -314,8 +314,8 @@ Você tem o direito de não participar de “vendas” futuras de informações #### Direito à não discriminação. Você tem o direito de não ser discriminado por exercer os seus direitos do CCPA. Não discriminaremos você pelo exercício dos seus direitos no âmbito do CCPA. -Você pode designar, por escrito ou por meio de advogado, um agente autorizado a fazer pedidos em seu nome para exercer seus direitos nos termos do CCPA. Antes de aceitar tal solicitação de um agente, exigimos que o agente forneça a prova que o autorizou a agir em seu nome, e talvez seja necessário que você verifique sua identidade diretamente conosco. Além disso, para fornecer ou excluir informações pessoais específicas, precisaremos verificar sua identidade de acordo com o grau de certeza exigido pela lei. Verificaremos a sua solicitação pedindo que você envie a solicitação do endereço de e-mail associado à sua conta ou exigindo que você forneça as informações necessárias para verificar sua conta. [Please note that you may use two-factor authentication with your GitHub account](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication). -Finally, you have a right to receive notice of our practices at or before collection of personal information. +Você pode designar, por escrito ou por meio de advogado, um agente autorizado a fazer pedidos em seu nome para exercer seus direitos nos termos do CCPA. Antes de aceitar tal solicitação de um agente, exigimos que o agente forneça a prova que o autorizou a agir em seu nome, e talvez seja necessário que você verifique sua identidade diretamente conosco. Além disso, para fornecer ou excluir informações pessoais específicas, precisaremos verificar sua identidade de acordo com o grau de certeza exigido pela lei. Verificaremos a sua solicitação pedindo que você envie a solicitação do endereço de e-mail associado à sua conta ou exigindo que você forneça as informações necessárias para verificar sua conta. [Observeque você pode usar a autenticação de dois fatores com sua conta do GitHub.](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication) +Por fim, você tem o direito de receber o aviso de nossas práticas durante ou antes da coleta de informações pessoais. Additionally, under California Civil Code section 1798.83, also known as the “Shine the Light” law, California residents who have provided personal information to a business with which the individual has established a business relationship for personal, family, or household purposes (“California Customers”) may request information about whether the business has disclosed personal information to any third parties for the third parties’ direct marketing purposes. Tenha em mente que não divulgamos informações pessoais a terceiros para fins de marketing direto, conforme definido nesta lei. California Customers may request further information about our compliance with this law by emailing **(privacy [at] github [dot] com)**. Observe que as empresas são obrigadas a responder a uma solicitação por cliente da Califórnia todos os anos e que talvez não seja necessário responder às solicitações por outros meios, além do endereço de e-mail designado. diff --git a/translations/pt-BR/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md b/translations/pt-BR/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md index 515fd465ff..a9a7e718c7 100644 --- a/translations/pt-BR/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md +++ b/translations/pt-BR/content/site-policy/privacy-policies/github-subprocessors-and-cookies.md @@ -18,7 +18,7 @@ Data de entrada em vigor: **2 de abril de 2021** {% note %} -**Note:** Changes to the list of cookies on this page are currently pending. +**Observação:** As alterações para a lista de cookies nesta página estão pendentes. {% endnote %} @@ -26,7 +26,7 @@ O GitHub fornece um grande acordo de transparência em relação à forma como u ## Subprocessadores GitHub -Quando compartilhamos suas informações com terceiros subprocessadores, tais como nossos fornecedores e provedores de serviços, permanecemos responsáveis por elas. Trabalhamos muito duro para manter sua confiança quando trazemos novos fornecedores, e exigimos que todos os fornecedores se submetam a contratos de proteção de dados conosco que restringem seu processamento de Informações Pessoais dos Usuários (conforme definido na [Declaração de Privacidade](/articles/github-privacy-statement/)). You can sign up to receive subprocessor list updates [here](https://www.github.com/privacy/subprocessors). +Quando compartilhamos suas informações com terceiros subprocessadores, tais como nossos fornecedores e provedores de serviços, permanecemos responsáveis por elas. Trabalhamos muito duro para manter sua confiança quando trazemos novos fornecedores, e exigimos que todos os fornecedores se submetam a contratos de proteção de dados conosco que restringem seu processamento de Informações Pessoais dos Usuários (conforme definido na [Declaração de Privacidade](/articles/github-privacy-statement/)). Você pode se inscrever para receber atualizações da lista de subprocessadores [aqui](https://www.github.com/privacy/subprocessors). | Nome do subprocessador | Descrição do processamento | Local do Processamento | Localização corporativa | |:------------------------ |:--------------------------------------------------------------------------- |:---------------------- |:----------------------- | diff --git a/translations/pt-BR/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/translations/pt-BR/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md index 1a3b7b283e..a197a5a9ac 100644 --- a/translations/pt-BR/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md +++ b/translations/pt-BR/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -25,7 +25,7 @@ shortTitle: Patrocinar um contribuidor Você pode patrocinar uma conta em nome de sua conta de pessoal para investir em projetos dos quais você se beneficia pessoalmente. Você pode patrocinar uma conta em nome de sua organização por muitas razões. - Sustentar bibliotecas específicas das quais o trabalho da sua organização depende -- Investir no ecossistema com o qual você conta como uma organização (como a blockchain) +- Investing in the ecosystem you rely on as an organization (such as blockchain) - Desenvolver a conscientização da marca como uma organização que valoriza o código aberto - Agradecer aos desenvolvedores de código aberto para a criação de bibliotecas que complementam os produtos que a sua organização oferece diff --git a/translations/pt-BR/data/features/actions-oidc-hardening-config.yml b/translations/pt-BR/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 0000000000..f3048bac8b --- /dev/null +++ b/translations/pt-BR/data/features/actions-oidc-hardening-config.yml @@ -0,0 +1,6 @@ +#Reference: #7336 +#General versioning for oidc hardening options +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' diff --git a/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml index 84825c368b..a7f772a7c5 100644 --- a/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml +++ b/translations/pt-BR/data/features/dependabot-alerts-vulnerable-calls.yml @@ -3,5 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.5' ghae: 'issue-6076' diff --git a/translations/pt-BR/data/features/enterprise-namespace-repo-setting.yml b/translations/pt-BR/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 0000000000..e20549f3ea --- /dev/null +++ b/translations/pt-BR/data/features/enterprise-namespace-repo-setting.yml @@ -0,0 +1,6 @@ +#Reference: #7757 +#Setting to disable personal namespace repo creation for EMUs, GHES 3.7+ and GHAE 3.7+ users +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7757' diff --git a/translations/pt-BR/data/features/ip-allow-list-address-check.yml b/translations/pt-BR/data/features/ip-allow-list-address-check.yml new file mode 100644 index 0000000000..c4dda87a70 --- /dev/null +++ b/translations/pt-BR/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/pt-BR/data/features/multiple-accounts-one-workstation.yml b/translations/pt-BR/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 0000000000..9fce93b34e --- /dev/null +++ b/translations/pt-BR/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,5 @@ +#Issue #7330 +#Documentation for managing multiple GitHub accounts on one workstation +versions: + fpt: '*' + ghec: '*' diff --git a/translations/pt-BR/data/features/packages-npm-v2.yml b/translations/pt-BR/data/features/packages-npm-v2.yml new file mode 100644 index 0000000000..572e412e4a --- /dev/null +++ b/translations/pt-BR/data/features/packages-npm-v2.yml @@ -0,0 +1,5 @@ +#Issue 7039 +#npm Package Registry Improvements (v2) GA +versions: + fpt: '*' + ghec: '*' diff --git a/translations/pt-BR/data/features/push-protection-custom-link-orgs-beta.yml b/translations/pt-BR/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 0000000000..509caa9fb4 --- /dev/null +++ b/translations/pt-BR/data/features/push-protection-custom-link-orgs-beta.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links beta flags +#See "push-protection-custom-link-orgs" for the feature +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/pt-BR/data/features/push-protection-custom-link-orgs.yml b/translations/pt-BR/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 0000000000..fce23efa96 --- /dev/null +++ b/translations/pt-BR/data/features/push-protection-custom-link-orgs.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links +#See "push-protection-custom-link-orgs-beta" for the beta flags +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/pt-BR/data/features/ssh-commit-verification.yml b/translations/pt-BR/data/features/ssh-commit-verification.yml new file mode 100644 index 0000000000..7851b1c8b7 --- /dev/null +++ b/translations/pt-BR/data/features/ssh-commit-verification.yml @@ -0,0 +1,8 @@ +#Reference: github/docs-content#6709 +#Initial docs for showing SSH signed commits as verified and +#uploading SSH signing keys +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.7' + ghae: '*' diff --git a/translations/pt-BR/data/features/streaming-datadog.yml b/translations/pt-BR/data/features/streaming-datadog.yml new file mode 100644 index 0000000000..ab90546c8d --- /dev/null +++ b/translations/pt-BR/data/features/streaming-datadog.yml @@ -0,0 +1,4 @@ +#Reference #7495 +#Documentation for audit log streaming to a Datadog endpoint +versions: + ghec: '*' diff --git a/translations/pt-BR/data/graphql/ghec/graphql_upcoming_changes.public.yml b/translations/pt-BR/data/graphql/ghec/graphql_upcoming_changes.public.yml index 45eba08d2b..f025d7e4e5 100644 --- a/translations/pt-BR/data/graphql/ghec/graphql_upcoming_changes.public.yml +++ b/translations/pt-BR/data/graphql/ghec/graphql_upcoming_changes.public.yml @@ -996,7 +996,7 @@ upcoming_changes: owner: lukewar - location: ProjectView.groupedItems - description: '`groupedItems` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.' + description: 'O `groupedItems` será removido. Siga o guia ProjectV2 em https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/ para encontrar um substituto adequado.' reason: A API `ProjectNext` está obsoleta para favorecer a API `ProjectV2` que tem mais capacidade. date: '2022-10-01T00:00:00+00:00' criticality: breaking diff --git a/translations/pt-BR/data/graphql/graphql_upcoming_changes.public.yml b/translations/pt-BR/data/graphql/graphql_upcoming_changes.public.yml index 45eba08d2b..f025d7e4e5 100644 --- a/translations/pt-BR/data/graphql/graphql_upcoming_changes.public.yml +++ b/translations/pt-BR/data/graphql/graphql_upcoming_changes.public.yml @@ -996,7 +996,7 @@ upcoming_changes: owner: lukewar - location: ProjectView.groupedItems - description: '`groupedItems` will be removed. Follow the ProjectV2 guide at https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/, to find a suitable replacement.' + description: 'O `groupedItems` será removido. Siga o guia ProjectV2 em https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/ para encontrar um substituto adequado.' reason: A API `ProjectNext` está obsoleta para favorecer a API `ProjectV2` que tem mais capacidade. date: '2022-10-01T00:00:00+00:00' criticality: breaking diff --git a/translations/pt-BR/data/learning-tracks/code-security.yml b/translations/pt-BR/data/learning-tracks/code-security.yml index 22db7b40dc..bac6b7fbfb 100644 --- a/translations/pt-BR/data/learning-tracks/code-security.yml +++ b/translations/pt-BR/data/learning-tracks/code-security.yml @@ -15,8 +15,8 @@ security_advisories: - /code-security/repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory #Feature available on dotcom and GHES 3.3+, so articles available on GHAE and earlier GHES hidden to hide the learning track dependabot_alerts: - title: 'Get notifications for insecure dependencies' - description: 'Set up Dependabot to alert you to new vulnerabilities{% ifversion GH-advisory-db-supports-malware %} or malware{% endif %} in your dependencies.' + title: 'Receber notificações para dependências inseguras' + description: 'Configure o dependente para alertar você sobre novas vulnerabilidades{% ifversion GH-advisory-db-supports-malware %} ou malware{% endif %} em suas dependências.' guides: - /code-security/dependabot/dependabot-alerts/about-dependabot-alerts - '{% ifversion fpt or ghec or ghes > 3.2 %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' diff --git a/translations/pt-BR/data/release-notes/enterprise-server/3-6/0.yml b/translations/pt-BR/data/release-notes/enterprise-server/3-6/0.yml index fe69c1d244..36076e85d1 100644 --- a/translations/pt-BR/data/release-notes/enterprise-server/3-6/0.yml +++ b/translations/pt-BR/data/release-notes/enterprise-server/3-6/0.yml @@ -211,3 +211,4 @@ sections: - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. - In some cases, users cannot convert existing issues to discussions. - Custom patterns for secret scanning have `.*` as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the `.*` delimiter. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/pt-BR/data/reusables/accounts/create-personal-access-tokens.md b/translations/pt-BR/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 0000000000..c7b8790ed4 --- /dev/null +++ b/translations/pt-BR/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. For each of your accounts, create a dedicated PAT with `repo` scope. Para obter mais informações, consulte "[Criando um token de acesso pessoal](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/actions/use-request-body-api.md b/translations/pt-BR/data/reusables/actions/use-request-body-api.md new file mode 100644 index 0000000000..1d37d0c4f0 --- /dev/null +++ b/translations/pt-BR/data/reusables/actions/use-request-body-api.md @@ -0,0 +1 @@ +To apply this configuration, submit a request to the API endpoint and include the required configuration in the request body. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/advanced-security/custom-link-beta.md b/translations/pt-BR/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 0000000000..a79fc22417 --- /dev/null +++ b/translations/pt-BR/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to add resource links to blocked push messages is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md index 2b3424114a..51da1e8420 100644 --- a/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md +++ b/translations/pt-BR/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -1,2 +1,6 @@ 1. Em "{% data variables.product.prodname_secret_scanning_caps %}", em "Proteção push", clique em **Habilitar todos**. ![Captura de tela que mostra como habilitar a proteção push para {% data variables.product.prodname_secret_scanning %} para uma organização](/assets/images/help/organizations/secret-scanning-enable-push-protection.png) -1. Opcionalmente, clique em "Habilitar automaticamente em repositórios privados adicionados ao {% data variables.product.prodname_secret_scanning %}." +1. Optionally, click "Automatically enable for private repositories added to {% data variables.product.prodname_secret_scanning %}."{% ifversion push-protection-custom-link-orgs %} +1. Optionally, to include a custom link in the message that members will see when they attempt to push a secret, select **Add a resource link in the CLI and web UI when a commit is blocked**, then type a URL, and click **Save link**. + {% ifversion push-protection-custom-link-orgs-beta %}{% indented_data_reference reusables.advanced-security.custom-link-beta spaces=3 %}{% endif %} + + ![Screenshot showing checkbox and text field for enabling a custom link](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/code-scanning/licensing-note.md b/translations/pt-BR/data/reusables/code-scanning/licensing-note.md index 475e59a7d4..8c1dc4e2af 100644 --- a/translations/pt-BR/data/reusables/code-scanning/licensing-note.md +++ b/translations/pt-BR/data/reusables/code-scanning/licensing-note.md @@ -1,8 +1,12 @@ {% note %} -**Note:** {% ifversion fpt %} -The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/)". -{%- elsif ghec %} The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/)". -{%- elsif ghes or ghae %}O {% data variables.product.prodname_codeql_cli %} está disponível para clientes com uma licença de {% data variables.product.prodname_advanced_security %}. +**Notes:** {% ifversion fpt %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. The {% data variables.product.prodname_codeql_cli %} is also available in private repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GH_advanced_security %}. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/)". +{%- elsif ghec %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. Para obter informações, consulte "[{% data variables.product.product_name %} Termos e Condições](https://securitylab.github.com/tools/codeql/license) de do CLI de {% data variables.product.prodname_codeql %} " e "[{% data variables.product.prodname_codeql %}](https://codeql.github.com/docs/codeql-cli/)". +{%- elsif ghes or ghae %} +- O {% data variables.product.prodname_codeql_cli %} está disponível para os clientes com uma licença de {% data variables.product.prodname_advanced_security %}. {% endif %} +- {% data reusables.code-scanning.non-glibc-linux-support %} + {% endnote %} diff --git a/translations/pt-BR/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/pt-BR/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 0000000000..2a1c2a8e53 --- /dev/null +++ b/translations/pt-BR/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1 @@ +The {% data variables.product.prodname_codeql_cli %} is currently not compatible with non-glibc Linux distributions such as (musl-based) Alpine Linux. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 2eacc3e212..e286675cee 100644 --- a/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/translations/pt-BR/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1 +1,5 @@ -1. Em {% data variables.product.prodname_vscode_shortname %}, na barra lateral esquerda, clique no ícone Remote Explorer. ![O ícone do Remote Explorer em {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) +1. Em {% data variables.product.prodname_vscode_shortname %}, na barra lateral esquerda, clique no ícone Remote Explorer. + + ![O ícone do Remote Explorer em {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/pt-BR/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 0000000000..a3d7ca0c7a --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: If you disable billable codespaces use for your organization, anyone who can create codespaces as an individual user, and can clone a repository in your organization, will still be able to create a codespace for that repository. However, this will not incur any charge for your organization. For information about restricting access to a repository, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/pt-BR/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 0000000000..69e6530791 --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. For information on how to choose who can create codespaces that are billed to your organization, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](https://docs-internal-29134-ad7bd8.preview.ghdocs.com/en/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md index 61e7031435..69820f0878 100644 --- a/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md +++ b/translations/pt-BR/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -1,9 +1,9 @@ {% note %} -**Note:** You must set a spending limit before you can use {% data variables.product.prodname_codespaces %}. +**Note:** You must set a non-zero spending limit before you can use {% data variables.product.prodname_codespaces %}. {% endnote %} -By default, your organization or enterprise will have a {% data variables.product.prodname_github_codespaces %} spending limit of $0, which prevents new codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0. +By default, your organization or enterprise will have a {% data variables.product.prodname_github_codespaces %} spending limit of $0. This prevents new codespaces from being created, or existing codespaces from being opened, if this would incur a billable cost to your organization or enterprise. To allow your users to create codespaces in your organization, set the limit to a value higher than $0. {% data reusables.billing.overages-billed-monthly %} diff --git a/translations/pt-BR/data/reusables/codespaces/remote-explorer.md b/translations/pt-BR/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 0000000000..c46ed9b539 --- /dev/null +++ b/translations/pt-BR/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,9 @@ +{% note %} + +**Note**: If the Remote Explorer is not displayed in the Activity Bar: + +1. Access the command palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). +1. Type: `codespaces`. +1. Click **Codespaces: Details**. + +{% endnote %} diff --git a/translations/pt-BR/data/reusables/dependabot/dependabot-alerts-filters.md b/translations/pt-BR/data/reusables/dependabot/dependabot-alerts-filters.md index 53ee652c54..bb66dd9639 100644 --- a/translations/pt-BR/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/translations/pt-BR/data/reusables/dependabot/dependabot-alerts-filters.md @@ -2,7 +2,7 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %} | Opção | Descrição | Exemplo | |:------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ecossistema` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 %} +| `ecossistema` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-7891 %} | `has` | Displays alerts meeting the selected filter criteria | Use `has:patch` to show alerts related to advisories that have a patch{% ifversion dependabot-alerts-vulnerable-calls %}
Use `has:vulnerable-calls` to show alerts relating to calls to vulnerable functions{% endif %} {% endif %} | `is` | Displays alerts based on their state | Use `is:open` to show open alerts | diff --git a/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md index 3dc85d7c17..f010f96ca7 100644 --- a/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md +++ b/translations/pt-BR/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -1 +1,6 @@ -1. Em "Repository creation" (Criação de repositório), selecione uma política. ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) +1. Em "Repository creation" (Criação de repositório), selecione uma política. + {% ifversion enterprise-namespace-repo-setting %} + ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![Menu suspenso com opções de políticas de criação de repositórios](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/pt-BR/data/reusables/enterprise-accounts/repository-visibility-policy.md b/translations/pt-BR/data/reusables/enterprise-accounts/repository-visibility-policy.md deleted file mode 100644 index 525aa116b2..0000000000 --- a/translations/pt-BR/data/reusables/enterprise-accounts/repository-visibility-policy.md +++ /dev/null @@ -1 +0,0 @@ -1. Em "Repository visibility change" (Mudança de visibilidade do repositório), use o menu suspenso e escolha uma política. ![Menu suspenso com opções de política de visibilidade do repositório](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) diff --git a/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md b/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md index 5d74f91ca1..b71d9a50b8 100644 --- a/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md +++ b/translations/pt-BR/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae-issue-7875 %} +1. In the left sidebar, click **Authentication security**. + {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-authentication-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-authentication-security-tab.png){% endif %} +{%- else %} 1. Na barra lateral esquerda, clique em **Security** (Segurança). {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} +{%- endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md b/translations/pt-BR/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md index c5d6100063..d9e308eee9 100644 --- a/translations/pt-BR/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md +++ b/translations/pt-BR/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md @@ -1,4 +1,4 @@ -1. Define the key as a environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. +1. Define the key as an environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. ```bash{:copy} ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a | awk '{printf "%s\\n", $0}')" diff --git a/translations/pt-BR/data/reusables/git/cache-on-repository-path.md b/translations/pt-BR/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 0000000000..ced81ebbd9 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,5 @@ +1. To configure Git to cache credentials for each local directory where you clone a repository, enter the following command. + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/pt-BR/data/reusables/git/clear-stored-gcm-credentials.md b/translations/pt-BR/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 0000000000..04e3de748e --- /dev/null +++ b/translations/pt-BR/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,5 @@ +- If the output is `manager-core`, you're using Git Credential Manager. To clear the credentials, run the following command. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/pt-BR/data/reusables/git/clear-the-stored-credentials.md b/translations/pt-BR/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 0000000000..f723d7ab97 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1 @@ +1. If the output confirms that you're using a credential manager, clear the stored credentials for the credential manager. diff --git a/translations/pt-BR/data/reusables/git/confirm-credential-manager.md b/translations/pt-BR/data/reusables/git/confirm-credential-manager.md new file mode 100644 index 0000000000..68c6e99397 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/confirm-credential-manager.md @@ -0,0 +1,5 @@ +1. To confirm your use of a credential manager, enter the following command and note the output. + + ```shell{:copy} + git config --get credential.helper + ``` diff --git a/translations/pt-BR/data/reusables/git/no-credential-manager.md b/translations/pt-BR/data/reusables/git/no-credential-manager.md new file mode 100644 index 0000000000..fe79c2ff04 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/no-credential-manager.md @@ -0,0 +1 @@ +- If the output doesn't include the name of a credential manager, there is no credential manager configured, and you can proceed to the next step. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/git/open-terminal.md b/translations/pt-BR/data/reusables/git/open-terminal.md new file mode 100644 index 0000000000..7eeb8de93f --- /dev/null +++ b/translations/pt-BR/data/reusables/git/open-terminal.md @@ -0,0 +1 @@ +1. Abra o terminal. diff --git a/translations/pt-BR/data/reusables/git/provide-credentials.md b/translations/pt-BR/data/reusables/git/provide-credentials.md new file mode 100644 index 0000000000..351a1e87d1 --- /dev/null +++ b/translations/pt-BR/data/reusables/git/provide-credentials.md @@ -0,0 +1,3 @@ +1. The first time that you use Git to clone a repository or access data in a repository that you've already cloned, Git will request credentials. Provide the PAT for the account with access to the repository. + + Git will cache the PAT for the directory you're in, and you'll be able to access and write repository data on {% data variables.product.product_location %} using the correct account. diff --git a/translations/pt-BR/data/reusables/gpg/configure-ssh-signing.md b/translations/pt-BR/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 0000000000..f0f489a73a --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,4 @@ +1. Configure Git to use SSH to sign commits and tags: + ```bash + $ git config --global gpg.format ssh + ``` \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/gpg/copy-gpg-key-id.md b/translations/pt-BR/data/reusables/gpg/copy-gpg-key-id.md index 7527dd811a..99a4a4c3d9 100644 --- a/translations/pt-BR/data/reusables/gpg/copy-gpg-key-id.md +++ b/translations/pt-BR/data/reusables/gpg/copy-gpg-key-id.md @@ -1,9 +1,9 @@ 1. Da lista de chaves GPG, copie a forma longa do ID da chave GPG que você gostaria de usar. Neste exemplo, o ID da chave GPG é `3AA5C34371567BD2`: - ```shell + ```shell{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10 - ``` + ``` diff --git a/translations/pt-BR/data/reusables/gpg/copy-ssh-public-key.md b/translations/pt-BR/data/reusables/gpg/copy-ssh-public-key.md new file mode 100644 index 0000000000..ccfe59c1e1 --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/copy-ssh-public-key.md @@ -0,0 +1,43 @@ +1. Copie a chave pública SSH para a sua área de transferência. + + Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco. +{% mac %} + + ```shell + $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Dica:** se `pbcopy` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. + + {% endtip %} +{% endmac %} +{% windows %} + + ```shell + $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **Dica:** se `clip` não estiver funcionando, você poderá localizar a pasta `.ssh` oculta, abrir o arquivo no seu editor de texto de preferência e copiá-lo na área de transferência. + + {% endtip %} +{% endwindows %} +{% linux %} + + ```shell + $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file + # displayed in the terminal to your clipboard + ``` + + {% tip %} + + **Dica:** Como alternativa, você pode localizar a pasta oculta de `.ssh`, abrir o arquivo no seu editor de texto favorito e copiá-lo na sua área de transferência. + + {% endtip %} +{% endlinux %} diff --git a/translations/pt-BR/data/reusables/gpg/list-keys-with-note.md b/translations/pt-BR/data/reusables/gpg/list-keys-with-note.md index de75bf4ce3..a3650500a0 100644 --- a/translations/pt-BR/data/reusables/gpg/list-keys-with-note.md +++ b/translations/pt-BR/data/reusables/gpg/list-keys-with-note.md @@ -1,10 +1,11 @@ - 1. Use o comando `gpg --list-secret-keys --keyid-format=long` para listar a forma longa das chaves GPG para as quais você tem uma chave pública e privada. Uma chave privada é necessária para assinar commits ou tags. - ```shell - $ gpg --list-secret-keys --keyid-format=long -``` - {% note %} - **Nota:** Algumas instalações GPG no Linux podem exigir que você use `gpg2 --list-keys --keyid-format LONG` para visualizar uma lista de suas chaves existentes. Neste caso você também precisará configurar o Git para usar `gpg2` executando `git config --global gpg.program gpg2`. + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + ``` - {% endnote %} + {% note %} + + **Nota:** Algumas instalações GPG no Linux podem exigir que você use `gpg2 --list-keys --keyid-format LONG` para visualizar uma lista de suas chaves existentes. Neste caso você também precisará configurar o Git para usar `gpg2` executando `git config --global gpg.program gpg2`. + + {% endnote %} diff --git a/translations/pt-BR/data/reusables/gpg/paste-ssh-public-key.md b/translations/pt-BR/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 0000000000..1274a0acb5 --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,4 @@ +1. To set your SSH signing key in Git, paste the text below, substituting the contents of your clipboard for the key you'd like to use. Since the key contains spaces, you must wrap it in quotes: + ```bash + $ git config --global user.signingkey 'ssh-ed25519 AAAAC3(...) user@example.com' + ``` \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/gpg/ssh-git-version.md b/translations/pt-BR/data/reusables/gpg/ssh-git-version.md new file mode 100644 index 0000000000..b7b745ca4f --- /dev/null +++ b/translations/pt-BR/data/reusables/gpg/ssh-git-version.md @@ -0,0 +1,6 @@ + +{% note %} + +**Note:** SSH signature verification is available in Git 2.34 or later. Para atualizar sua versão do Git, consulte o site [Git](https://git-scm.com/downloads). + +{% endnote %} diff --git a/translations/pt-BR/data/reusables/gpg/x-509-key.md b/translations/pt-BR/data/reusables/gpg/x-509-key.md index d01c81454b..956f178d79 100644 --- a/translations/pt-BR/data/reusables/gpg/x-509-key.md +++ b/translations/pt-BR/data/reusables/gpg/x-509-key.md @@ -1,5 +1,5 @@ -### Contando ao Git sobre sua chave X.509 +## Contando ao Git sobre sua chave X.509 Você pode usar [smimesign](https://github.com/github/smimesign) para assinar commits e tags usando S/MIME em vez de GPG. diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 0000000000..772581f87a --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,3 @@ +You can create an IP allow list by adding entries that each contain an IP address or address range.{% ifversion ip-allow-list-address-check %} After you finish adding entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list.{% endif %} + +Before the list restricts access to {% ifversion ghae %}your enterprise{% else %}private assets owned by organizations in your enterprise{% endif %}, you must also enable allowed IP addresses. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 0000000000..dfdc758f91 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1 @@ +You can check whether a particular IP address would be allowed by any of the enabled entries in your IP allow list, even if the list is not currently enabled. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 0000000000..d646e02ec5 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,5 @@ +You can edit an entry in your IP allow list. If you edit an enabled entry, changes are enforced immediately. + +{% ifversion ip-allow-list-address-check %} +After you finish editing entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. +{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/pt-BR/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 0000000000..f886df0690 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md @@ -0,0 +1,5 @@ +After you create an IP allow list, you can enable allowed IP addresses. When you enable allowed IP addresses, {% data variables.product.company_short %} immediately enforces any enabled entries in your IP allow list. + +{% ifversion ip-allow-list-address-check %} +Before you enable allowed IP addresses, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 0000000000..5e73fdddcd --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1 @@ +1. Under "Check your IP address", enter an IP address. ![Screenshot of the "Check IP address" text field](/assets/images/help/security/check-ip-address.png) \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address.md b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 0000000000..9a187752d6 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,3 @@ +{%- ifversion ip-allow-list-address-check %} +1. Optionally, check if a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{%- endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md index 3bee02a42c..c7be5a3a0d 100644 --- a/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md +++ b/translations/pt-BR/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -1 +1,3 @@ -Para fazer cumprir a lista de permissões de IP, você deve primeiro adicionar endereços IP à lista, e então habilitar a lista de permissões de IP. É preciso adicionar o endereço IP atual ou um intervalo correspondente antes de habilitar a lista de permissões de IP. +To enforce the IP allow list, you must first add IP addresses to the list, then enable the IP allow list.{% ifversion ip-allow-list-address-check %} After you complete your list, you can check whether a particular IP address would be allowed by any of the enabled entries in the list.{% endif %} + +É preciso adicionar o endereço IP atual ou um intervalo correspondente antes de habilitar a lista de permissões de IP. diff --git a/translations/pt-BR/data/reusables/identity-and-permissions/ipv6-allow-lists.md b/translations/pt-BR/data/reusables/identity-and-permissions/ipv6-allow-lists.md new file mode 100644 index 0000000000..3c26491fe2 --- /dev/null +++ b/translations/pt-BR/data/reusables/identity-and-permissions/ipv6-allow-lists.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec %} +{% note %} + +**Note:** {% data variables.product.company_short %} is gradually rolling out support for IPv6. As {% data variables.product.prodname_dotcom %} services continue to add IPv6 support, we will start recognizing IPv6 addresses of {% data variables.product.prodname_dotcom %} users. To prevent possible access interruptions, please ensure you have added any necessary IPv6 addresses to your IP allow list. + +{% endnote %} +{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/organizations/about-following-organizations.md b/translations/pt-BR/data/reusables/organizations/about-following-organizations.md new file mode 100644 index 0000000000..52e52467fb --- /dev/null +++ b/translations/pt-BR/data/reusables/organizations/about-following-organizations.md @@ -0,0 +1 @@ +When you follow organizations on {% data variables.product.product_name %}, you'll see their {% ifversion fpt or ghec %}public{% endif %} activity on your personal dashboard. This activity includes new discussions, sponsorships, and repositories. \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/organizations/follow-organizations-beta.md b/translations/pt-BR/data/reusables/organizations/follow-organizations-beta.md new file mode 100644 index 0000000000..c43d9b7ad9 --- /dev/null +++ b/translations/pt-BR/data/reusables/organizations/follow-organizations-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Observação:** A capacidade de seguir organizações está atualmente em versão beta pública e sujeita a alterações. + +{% endnote %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/package_registry/authenticate-packages.md b/translations/pt-BR/data/reusables/package_registry/authenticate-packages.md index a766f6e96d..5ca4e91584 100644 --- a/translations/pt-BR/data/reusables/package_registry/authenticate-packages.md +++ b/translations/pt-BR/data/reusables/package_registry/authenticate-packages.md @@ -4,4 +4,4 @@ You can use a personal access token (PAT) to authenticate to {% data variables.p To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: - `GITHUB_TOKEN` to publish packages associated with the workflow repository. -- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). +- a PAT with at least `packages:read` scope to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md b/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md deleted file mode 100644 index 7fa54b22c1..0000000000 --- a/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md +++ /dev/null @@ -1,11 +0,0 @@ -{% ifversion fpt or ghec or ghes > 3.4 %} - -Para efetuar a autenticação em {% data variables.product.prodname_container_registry %} dentro de um fluxo de trabalho {% data variables.product.prodname_actions %}, use o `GITHUB_TOKEN` para obter a melhor segurança e experiência. If your workflow is using a personal access token (PAT) to authenticate to `{% data reusables.package_registry.container-registry-hostname %}`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. - -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to `{% data reusables.package_registry.container-registry-hostname %}` with a personal access token, see "[Upgrading a workflow that accesses `ghcr.io`](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio)."{% endif %} - -Para obter mais informações sobre o `GITHUB_TOKEN`, consulte "[Autenticação em um fluxo de trabalho](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)". - -Se você estiver usando {% data variables.product.prodname_container_registry %} em ações, siga nossas práticas recomendadas em matéria de segurança na[Enrijecimento de segurança para o GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)". - -{% endif %} diff --git a/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md new file mode 100644 index 0000000000..718710d5ce --- /dev/null +++ b/translations/pt-BR/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -0,0 +1,7 @@ +If your workflow is using a personal access token (PAT) to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. + +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a personal access token, see "[Upgrading a workflow that accesses a registry using a PAT](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} + +Para obter mais informações sobre o `GITHUB_TOKEN`, consulte "[Autenticação em um fluxo de trabalho](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)". + +For more information about the best practises when using a registry in actions, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." diff --git a/translations/pt-BR/data/reusables/package_registry/no-graphql-to-delete-packages.md b/translations/pt-BR/data/reusables/package_registry/no-graphql-to-delete-packages.md new file mode 100644 index 0000000000..cbab609f2b --- /dev/null +++ b/translations/pt-BR/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`, or npm images that use the package namespace `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/reusables/pages/navigate-publishing-source.md b/translations/pt-BR/data/reusables/pages/navigate-publishing-source.md index 023fcbd392..f959dcee5e 100644 --- a/translations/pt-BR/data/reusables/pages/navigate-publishing-source.md +++ b/translations/pt-BR/data/reusables/pages/navigate-publishing-source.md @@ -1 +1 @@ -1. Navegue até a fonte de publicação do seu site. For more information, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." +1. Navegue até a fonte de publicação do seu site. Para obter mais informações, consulte "[Configurando uma fonte de publicação para o site do GitHub Pages](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)". diff --git a/translations/pt-BR/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md b/translations/pt-BR/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md index 51048b2b8f..fce59af7f3 100644 --- a/translations/pt-BR/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md +++ b/translations/pt-BR/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md @@ -1,16 +1,16 @@ -{% ifversion ghes > 3.1 or ghes < 3.5 %} +{% ifversion ghes < 3.5 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix for 3.5 and later will be available in an upcoming patch release. +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix will be available in upcoming patch releases. -To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-16] +To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-26] -{% elsif ghes > 3.4 or ghes < 3.7 %} +{% elsif ghes = 3.5 or ghes = 3.6 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ currentVersion }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ allVersions[currentVersion].currentRelease }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). - To display the missing alerts for all repositories owned by an organization, organization owners can navigate to the organization's **Code security and analysis** settings, then click **Enable all** for secret scanning. Para obter mais informações, consulte "[Gerenciar configurações de segurança e análise para sua organização](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories)". - To display the missing alerts for an individual repository, people with admin access to the repository can disable then enable secret scanning for the repository. Para obter mais informações, consulte "[Gerenciar configurações de segurança e análise do seu repositório](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)". -A fix will be available in an upcoming patch release. [Updated: 2022-08-16] +A fix will be available in an upcoming patch release. [Updated: 2022-08-26] {% endif %} diff --git a/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md index bc75f9431c..23e71bf6bf 100644 --- a/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md +++ b/translations/pt-BR/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -2,5 +2,12 @@ Ao usar a interface de usuário web para tentar confirmar um segredo suportado p Você verá um banner no topo da página com informações sobre a localização do segredo, e o segredo também será sublinhado no arquivo para que você possa encontrá-lo facilmente. +{% ifversion push-protection-custom-link-orgs %} + + ![Captura de tela que mostra o commit na interface de usuário da web bloqueado devido à proteção de push da digitalização de segredo](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + ![Captura de tela que mostra o commit na interface de usuário da web bloqueado devido à proteção de push da digitalização de segredo](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) - \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/translations/pt-BR/data/variables/product.yml b/translations/pt-BR/data/variables/product.yml index ddecd920aa..4168fb80db 100644 --- a/translations/pt-BR/data/variables/product.yml +++ b/translations/pt-BR/data/variables/product.yml @@ -112,6 +112,10 @@ prodname_registry: 'GitHub Package Registry' prodname_container_registry: 'Container registry' prodname_docker_registry_namespace: '{% ifversion fpt or ghec %}`docker.pkg.github.com`{% elsif ghes or ghae %}docker.HOSTNAME{% endif %}' prodname_container_registry_namespace: '{% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes or ghae %}containers.HOSTNAME{% endif %}' +prodname_npm_registry: 'Registro de npm' +prodname_ghcr_and_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_or_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} or {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_and_npm_registry_full: '{% data variables.product.prodname_container_registry %} (`ghcr.io`){% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %} (`npm.pkg.github.com`){% endif %}' #GitHub Insights prodname_insights: 'GitHub Insights' #GitHub Sponsors diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md index 92dd7fdc0a..e06edb7705 100644 --- a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/index.md @@ -1,6 +1,6 @@ --- title: 在 GitHub 上设置和管理您的个人帐户 -intro: '您可以在 {% data variables.product.prodname_dotcom %} 上管理个人帐户的设置,包括电子邮件首选项、个人仓库的协作者访问权限和组织成员身份。' +intro: 'You can manage settings for your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}, including email preferences, access to personal repositories, and organization memberships. You can also manage the account itself.' shortTitle: 个人帐户 redirect_from: - /categories/setting-up-and-managing-your-github-user-account @@ -15,6 +15,7 @@ topics: - Accounts children: - /managing-personal-account-settings + - /managing-your-personal-account - /managing-email-preferences - /managing-access-to-your-personal-repositories - /managing-your-membership-in-organizations diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md index 44e94058a5..8db444c488 100644 --- a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/index.md @@ -1,6 +1,6 @@ --- title: 管理用户帐户设置 -intro: 您可以更改个人帐户的多项设置,包括更改用户名和删除帐户。 +intro: 'You can manage settings for your personal account, including your theme, username, default branch, accessibility, and security settings.' redirect_from: - /categories/29/articles - /categories/user-accounts @@ -19,9 +19,6 @@ children: - /managing-your-theme-settings - /managing-your-tab-size-rendering-preference - /changing-your-github-username - - /merging-multiple-personal-accounts - - /converting-a-user-into-an-organization - - /deleting-your-personal-account - /permission-levels-for-a-personal-account-repository - /permission-levels-for-a-project-board-owned-by-a-personal-account - /managing-accessibility-settings @@ -29,7 +26,6 @@ children: - /managing-security-and-analysis-settings-for-your-personal-account - /managing-access-to-your-personal-accounts-project-boards - /integrating-jira-with-your-personal-projects - - /best-practices-for-leaving-your-company - /what-does-the-available-for-hire-checkbox-do shortTitle: 个人帐户设置 --- diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md similarity index 95% rename from translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md rename to translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md index 0f84794666..155379d05f 100644 --- a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company.md +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md @@ -6,6 +6,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/best-practices-for-leaving-your-company - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/best-practices-for-leaving-your-company + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/best-practices-for-leaving-your-company versions: fpt: '*' ghec: '*' diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md similarity index 97% rename from translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md rename to translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md index 2a1aa4bcb9..4d510d7ca2 100644 --- a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization.md +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/converting-a-user-into-an-organization.md @@ -7,6 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/converting-a-user-into-an-organization + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/converting-a-user-into-an-organization intro: 您可以将个人帐户转换为组织。 这样可以对属于组织的仓库设置更细化的权限。 versions: fpt: '*' diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md similarity index 55% rename from translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md rename to translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md index 19bbcfc8a4..c1de520062 100644 --- a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account.md +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/deleting-your-personal-account.md @@ -1,39 +1,53 @@ --- title: 删除个人帐户 -intro: '您可以随时在 {% data variables.product.product_name %} 上删除您的个人帐户。' +intro: '您可以随时在 {% data variables.product.product_location %} 上删除您的个人帐户。' redirect_from: - /articles/deleting-a-user-account - /articles/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/deleting-your-user-account - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/deleting-your-user-account + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/deleting-your-personal-account versions: fpt: '*' ghes: '*' ghec: '*' topics: - Accounts -shortTitle: 删除个人帐户 +shortTitle: Delete your account --- -删除个人帐户会移除帐户所拥有的所有仓库、私有仓库分支、wiki、议题、拉取请求和页面。 {% ifversion fpt or ghec %} 在其他用户拥有的仓库中创建的议题和拉取请求以及所做的评论将不会被删除,而是与我们的[Ghost 用户](https://github.com/ghost)关联。{% else %}在其他用户拥有的仓库中创建的议题和拉取请求以及所做的评论将不会被删除。{% endif %} +## About deletion of your personal account -{% ifversion fpt or ghec %} 当您删除帐户时,我们会停止对您计费。 与该帐户关联的电子邮件地址可用于 {% data variables.product.product_location %} 上不同的帐户。 90 天后,该帐户名称也可供其他任何人用于新帐户。 {% endif %} +删除个人帐户会移除帐户所拥有的所有仓库、私有仓库分支、wiki、议题、拉取请求和页面。 {% ifversion fpt or ghec %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted. Your resources and comments will become associated with the [ghost user](https://github.com/ghost).{% else %}Issues and pull requests you've created and comments you've made in repositories owned by other users will not be deleted.{% endif %} -如果您是组织的唯一所有者,则必须先将所有权转让给其他人或删除该组织,然后才能删除您的个人帐户。 如果组织中有其他所有者,则必须先从组织中删除自己,然后才能删除个人帐户。 +{% ifversion ghec %} + +{% note %} + +**Note**: If your enterprise manages your account and you sign into {% data variables.product.product_location %} through your company's identity provider (IdP), you cannot delete your account. 更多信息请参阅“[关于 {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users)”。 + +{% endnote %} + +{% endif %} + +{% ifversion fpt or ghec %}When you delete your account we stop billing you. 与该帐户关联的电子邮件地址可用于 {% data variables.product.product_location %} 上不同的帐户。 90 天后,该帐户名称也可供其他任何人用于新帐户。 {% endif %} + +If you're the only owner of an organization, you must transfer ownership to another person or delete the organization before you can delete your personal account. 如果组织中有其他所有者,则必须先从组织中删除自己,然后才能删除个人帐户。 + +更多信息请参阅以下文章。 -更多信息请参阅: - “[转让组织所有权](/articles/transferring-organization-ownership)” - “[删除组织帐户](/articles/deleting-an-organization-account)” - “[从组织中删除自己](/articles/removing-yourself-from-an-organization/)” ## 备份帐户数据 -在删除个人帐户之前,请复制帐户拥有的所有仓库、私有分支、wiki、议题和拉取请求。 +在删除个人帐户之前,请复制帐户拥有的所有仓库、私有分支、wiki、议题和拉取请求。 For more information, see "[Backing up a repository](/repositories/archiving-a-github-repository/backing-up-a-repository)." {% warning %} -**警告:**删除个人帐户后,GitHub 无法恢复您的内容。 +**Warning:** Once your personal account has been deleted, {% ifversion fpt or ghec %}{% data variables.product.company_short %}{% elsif ghes or ghae %}an enterprise owner{% endif %} cannot restore your content. {% endwarning %} diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md new file mode 100644 index 0000000000..ab1c7a9394 --- /dev/null +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/index.md @@ -0,0 +1,19 @@ +--- +title: Managing your personal account +intro: 'You can manage your personal account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %}. For example, you can {% ifversion fpt or ghec %}manage multiple accounts, {% endif %}convert an account to an organization{% ifversion fpt or ghec or ghes %}, or delete an account{% endif %}.' +shortTitle: Manage personal account +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - Accounts +children: + - /managing-multiple-accounts + - /merging-multiple-personal-accounts + - /converting-a-user-into-an-organization + - /best-practices-for-leaving-your-company + - /deleting-your-personal-account +--- + diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md new file mode 100644 index 0000000000..1c926dde82 --- /dev/null +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts.md @@ -0,0 +1,105 @@ +--- +title: Managing multiple accounts +intro: 'If you use one workstation to contribute to projects for more than one account on {% data variables.product.product_location %}, you can modify your Git configuration to simplify the contribution process.' +versions: + feature: multiple-accounts-one-workstation +topics: + - Accounts + - Git + - GitHub +shortTitle: Manage multiple accounts +--- + +## About management of multiple accounts + +In some cases, you may need to use multiple accounts on {% data variables.product.product_location %}. For example, you may have a personal account for open source contributions, and your employer may also create and manage a user account for you within an enterprise. + +You cannot use your {% data variables.product.prodname_managed_user %} to contribute to public projects on {% data variables.product.product_location %}, so you must contribute to those resources using your personal account. For more information, see "[About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#abilities-and-restrictions-of-managed-user-accounts){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% elsif ghec %}."{% endif %} + +If you want to use one workstation to contribute from both accounts, you can simplify contribution with Git by using a mixture of protocols to access repository data, or by using credentials on a per-repository basis. + +{% warning %} + +**Warning**: Be mindful when you use one workstation to contribute to two separate accounts. Management of two or more accounts can increase the chance of mistakenly leaking internal code to the public. + +{% endwarning %} + +If you aren't required to use a {% data variables.product.prodname_managed_user %}, {% data variables.product.company_short %} recommends that you use one personal account for all your work on {% data variables.product.product_location %}. With a single personal account, you can contribute to a combination of personal, open source, or professional projects using one identity. Other people can invite the account to contribute to both individual repositories and repositories owned by an organization, and the account can be a member of multiple organizations or enterprises. + +## Contributing to two accounts using HTTPS and SSH + +If you contribute with two accounts from one workstation, you can access repositories by using a different protocol and credentials for each account. + +Git can use either the HTTPS or SSH protocol to access and update data in repositories on {% data variables.product.product_location %}. The protocol you use to clone a repository determines which credentials your workstation will use to authenticate when you access the repository. With this approach to account management, you store the credentials for one account to use for HTTPS connections and upload an SSH key to the other account to use for SSH connections. + +You can find both the HTTPS or an SSH URLs for cloning a repository on {% data variables.product.product_name %}. 更多信息请参阅“[克隆仓库](/repositories/creating-and-managing-repositories/cloning-a-repository)”。 + +For more information about the use of SSH to access repositories on {% data variables.product.product_name %}, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +## Contributing to multiple accounts using HTTPS and PATs + +Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens (PAT) for each account by configuring Git to store different credentials for each repository. + +{% mac %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + - If the output is `osxkeychain`, you're using the macOS keychain. To clear the credentials, enter the following command. + + ```shell{:copy} + git credential-osxkeychain erase https://github.com + ``` + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endmac %} + +{% windows %} + +1. 打开 Git Bash。 +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} + - If the output is `wincred`, you're using the Windows Credential Manager. To clear the credentials, enter the following command. + + ```shell{:copy} + cmdkey /delete:LegacyGeneric:target=git:https://github.com + ``` +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endwindows %} + +{% linux %} + +{% data reusables.git.open-terminal %} +{% data reusables.git.confirm-credential-manager %} +{% data reusables.git.clear-the-stored-credentials %} + {% data reusables.git.no-credential-manager %} + {% data reusables.git.clear-stored-gcm-credentials %} +{% data reusables.git.cache-on-repository-path %} +{% data reusables.accounts.create-personal-access-tokens %} +{% data reusables.git.provide-credentials %} + +{% endlinux %} + +## Contributing to multiple accounts using SSH and `GIT_SSH_COMMAND` + +If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see "[Connecting to {% data variables.product.prodname_dotcom %} with SSH](/authentication/connecting-to-github-with-ssh)." + +To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps. +1. Determine the repository's full name with owner, using a command such as `git config --get remote.origin.url`. +2. Choose the correct SSH key for authentication. +3. Modify `GIT_SSH_COMMAND` accordingly. For more information about `GIT_SSH_COMMAND`, see [Environment Variables](https://git-scm.com/docs/git#Documentation/git.txt-codeGITSSHCOMMANDcode) in the Git documentation. + +For example, the following command sets the `GIT_SSH_COMMAND` environment variable to specify an SSH command that uses the private key file at **_PATH/TO/KEY/FILE_** for authentication to clone the repository named **_OWNER_**/**_REPOSITORY_** on {% data variables.product.product_location %}. + +
+GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
+
diff --git a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md similarity index 93% rename from translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md rename to translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md index 5ff88a3f41..5946b02367 100644 --- a/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts.md +++ b/translations/zh-CN/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/merging-multiple-personal-accounts.md @@ -8,12 +8,13 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts - /account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts + - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/merging-multiple-personal-accounts versions: fpt: '*' ghec: '*' topics: - Accounts -shortTitle: 合并多个个人帐户 +shortTitle: Merge multiple accounts --- {% tip %} diff --git a/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md b/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md index bf592c0b96..4774b64695 100644 --- a/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md +++ b/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect.md @@ -73,6 +73,7 @@ topics: "repository": "octo-org/octo-repo", "repository_owner": "octo-org", "actor_id": "12", + "repo_visibility": private, "repository_id": "74", "repository_owner_id": "65", "run_id": "example-run-id", @@ -130,6 +131,7 @@ OIDC 令牌还包括其他标准声明: | `job_workflow_ref` | 这是此作业使用的可重用工作流程的引用路径。 更多信息请参阅“[使用 OpenID 连接和可重用工作流程](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)”。 | | `ref` | _(引用)_ 触发工作流程运行的 git 引用。 | | `ref_type` | `ref` 的类型,例如:"branch"。 | +| `repo_visibility` | The visibility of the repository where the workflow is running. Accepts the following values: `internal`, `private`, or `public`. | | `仓库` | 运行工作流程的存储库。 | | `repository_id` | 运行工作流程的存储库的 ID。 | | `repository_owner` | 存储 `repository` 的组织的名称。 | @@ -145,11 +147,11 @@ OIDC 令牌还包括其他标准声明: 在云角色/资源上设置条件以限定其对 GitHub 工作流程的访问范围时,受众和主题声明通常结合使用。 - **受众**:默认情况下,此值使用组织或存储库所有者的 URL。 这可用于设置只有特定组织中的工作流程才能访问云角色的条件。 -- **主题**:具有预定义的格式,并且是有关工作流程的某些关键元数据的串联,如 {% data variables.product.prodname_dotcom %} 组织、存储库、分支或关联的[`作业`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment)环境。 请参阅“[示例主题声明](#example-subject-claims)”,了解如何从串联的元数据汇编主题声明。 +- **Subject**: By default, has a predefined format and is a concatenation of some of the key metadata about the workflow, such as the {% data variables.product.prodname_dotcom %} organization, repository, branch, or associated [`job`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idenvironment) environment. 请参阅“[示例主题声明](#example-subject-claims)”,了解如何从串联的元数据汇编主题声明。 -OIDC 令牌中还支持许多其他声明,这些声明也可用于设置这些条件。 +If you need more granular trust conditions, you can customize the issuer (`iss`) and subject (`sub`) claims that are included with the JWT. For more information, see "[Customizing the token claims](#customizing-the-token-claims)". -此外,云提供商可以允许你为访问令牌分配角色,从而允许你指定更精细的权限。 +There are also many additional claims supported in the OIDC token that can be used for setting these conditions. 此外,云提供商可以允许你为访问令牌分配角色,从而允许你指定更精细的权限。 {% note %} @@ -240,6 +242,197 @@ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOK {% data reusables.actions.oidc-permissions-token %} +{% ifversion actions-oidc-hardening-config %} +## Customizing the token claims + +You can security harden your OIDC configuration by customizing the claims that are included with the JWT. These customisations allow you to define more granular trust conditions on your cloud roles when allowing your workflows to access resources hosted in the cloud: + +{% ifversion ghec %} - For an additional layer of security, you can append the `issuer` url with your enterprise slug. This lets you set conditions on the issuer (`iss`) claim, configuring it to only accept JWT tokens from a unique `issuer` URL that must include your enterprise slug.{% endif %} +- You can standardize your OIDC configuration by setting conditions on the subject (`sub`) claim that require JWT tokens to originate from a specific repository, reusable workflow, or other source. +- You can define granular OIDC policies by using additional OIDC token claims, such as `repository_id` and `repo_visibility`. For more information, see "[Understanding the OIDC token](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token)". + +To customize these claim formats, organization and repository admins can use the REST API endpoints described in the following sections. + +{% ifversion ghec %} + +### Switching to a unique token URL + +By default, the JWT is issued by {% data variables.product.prodname_dotcom %}'s OIDC provider at `https://token.actions.githubusercontent.com`. This path is presented to your cloud provider using the `iss` value in the JWT. + +Enterprise admins can security harden their OIDC configuration by configuring their enterprise to receive tokens from a unique URL at `https://api.github.com/enterprises//actions/oidc/customization/issuer`. Replace `` with the slug value of your enterprise. + +This configuration means that your enterprise will receive the OIDC token from a unique URL, and you can then configure your cloud provider to only accept tokens from that URL. This helps ensure that only the enterprise's repositories can access your cloud resources using OIDC. + +To activate this setting for your enterprise, an enterprise admin must use the `/enterprises/{enterprise}/actions/oidc/customization/issuer` endpoint and specify `"include_enterprise_slug": true` in the request body. For more information, see "[Set the {% data variables.product.prodname_actions %} OIDC custom issuer policy for an enterprise](/rest/actions/oidc#set-the-github-actions-oidc-custom-issuer-policy-for-an-enterprise)." + +After this setting is applied, the JWT will contain the updated `iss` value. In the following example, the `iss` key uses `octocat-inc` as its `enterpriseSlug` value: + +```json +{ + "jti": "6f4762ed-0758-4ccb-808d-ee3af5d723a8" + "sub": "repo:octocat-inc/private-server:ref:refs/heads/main" + "aud": "http://octocat-inc.example/octocat-inc" + "enterprise": "octocat-inc" + "iss": "https://api.github.com/enterprises/octocat-inc/actions/oidc/customization/issuer", + "bf": 1755350653, + "exp": 1755351553, + "iat": 1755351253 +} +``` + +{% endif %} + +### Customizing the subject claims for an organization + +To configure organization-wide security, compliance, and standardization, you can customize the standard claims to suit your required access conditions. If your cloud provider supports conditions on subject claims, you can create a condition that checks whether the `sub` value matches the path of the reusable workflow, such as `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. The exact format will vary depending on your cloud provider's OIDC configuration. To configure the matching condition on {% data variables.product.prodname_dotcom %}, you can can use the REST API to require that the `sub` claim must always include a specific custom claim, such as `job_workflow_ref`. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)." + +Customizing the claims results in a new format for the entire `sub` claim, which replaces the default predefined `sub` format in the token described in "[Example subject claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims)." + +The following example templates demonstrate various ways to customize the subject claim. To configure these settings on {% data variables.product.prodname_dotcom %}, organization admins use the REST API to specify a list of claims that must be included in the subject (`sub`) claim. {% data reusables.actions.use-request-body-api %} + +To customize your subject claims, you should first create a matching condition in your cloud provider's OIDC configuration, before customizing the configuration using the REST API. Once the configuration is completed, each time a new job runs, the OIDC token generated during that job will follow the new customization template. If the matching condition doesn't exist in the cloud provider's OIDC configuration before the job runs, the generated token might not be accepted by the cloud provider, since the cloud conditions may not be synchronized. + +{% note %} + +**Note**: When the organization template is applied, it will not affect any existing repositories that already use OIDC. For existing repositories, as well as any new repositories that are created after the template has been applied, the repository owner will need to opt-in to receive this configuration. For more information, see "[Set the opt-in flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository)." + +{% endnote %} + +#### Example: Allowing repository based on visibility and owner + +This example template allows the `sub` claim to have a new format, using `repository_owner` and `repository_visibility`: + +```json +{ + "include_claim_keys": [ + "repository_owner", + "repository_visibility" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repository_owner` and `repository_visibility`. For example: `"repository_owner: "monalisa":repository_visibility:private"`. The approach lets you restrict cloud role access to only private repositories within an organization or enterprise. + +#### Example: Allowing access to all repositories with a specific owner + +This example template enables the `sub` claim to have a new format with only the value of `repository_owner`. {% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repository_owner" + ] +} + +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `repository_owner`. For example: `"repository_owner: "monalisa""` + +#### Example: Requiring a reusable workflow + +This example template allows the `sub` claim to have a new format that contains the value of the `job_workflow_ref` claim. This enables an enterprise to use [reusable workflows](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims) to enforce consistent deployments across its organizations and repositories. + +{% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "job_workflow_ref" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include a specific value for `job_workflow_ref`. For example: `"job_workflow_ref: "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main""`. + +#### Example: Requiring a reusable workflow and other claims + +The following example template combines the requirement of a specific reusable workflow with additional claims. {% data reusables.actions.use-request-body-api %} + +This example also demonstrates how to use `"context"` to define your conditions. This is the part that follows the repository in the [default `sub` format](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#example-subject-claims). For example, when the job references an environment, the context contains: `environment:`. + +```json +{ + "include_claim_keys": [ + "repo", + "context", + "job_workflow_ref" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo`, `context`, and `job_workflow_ref`. + +This customization template requires that the `sub` uses the following format: `repo::environment::job_workflow_ref:`. For example: `"sub": "repo:octo-org/octo-repo:environment:prod:job_workflow_ref:octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main"` + +#### Example: Granting access to a specific repository + +This example template lets you grant cloud access to all the workflows in a specific repository, across all branches/tags and environments. To help improve security, combine this template with the custom issuer URL described in "[Customizing the token URL for an enterprise](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-url-for-an-enterprise)." + +{% data reusables.actions.use-request-body-api %} + +```json +{ + "include_claim_keys": [ + "repo" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repo` claim that matches the required value. + +#### Example: Using system-generated GUIDs + +This example template enables predictable OIDC claims with system-generated GUIDs that do not change between renames of entities (such as renaming a repository). {% data reusables.actions.use-request-body-api %} + +```json + { + "include_claim_keys": [ + "repository_id" + ] + } +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_id` claim that matches the required value. + +或: + +```json +{ + "include_claim_keys": [ + "repository_owner_id" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require a `repository_owner_id` claim that matches the required value. + +#### Resetting your customizations + +This example template resets the subject claims to the default format. {% data reusables.actions.use-request-body-api %} This template effectively opts out of any organization-level customization policy. + +```json +{ + "include_claim_keys": [ + "repo", + "context" + ] +} +``` + +In your cloud provider's OIDC configuration, configure the `sub` condition to require that claims must include specific values for `repo` and `context`. + +#### Using the default subject claims + +For repositories that can receive a subject claim policy from their organization, the repository owner can later choose to opt-out and instead use the default `sub` claim format. To configure this, the repository admin must use the REST API endpoint at "[Set the opt-out flag of an OIDC subject claim customization for a repository](/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository)" with the following request body: + +```json +{ + "use_default": true +} +``` + +{% endif %} + ## 更新 OIDC 的工作流程 现在,您可以更新 YAML 工作流程,以使用 OIDC 访问令牌而不是机密。 常用的云提供商已发布其官方登录操作,使您可以轻松开始使用 OIDC。 有关更新工作流程的详细信息,请参阅下面“[为云提供商启用 OpenID Connect ](#enabling-openid-connect-for-your-cloud-provider)”中列出的云特定指南。 diff --git a/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md b/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md index a3d8a64281..28fd1ba7e0 100644 --- a/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md +++ b/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault.md @@ -32,10 +32,52 @@ OpenID Connect (OIDC) 允许您的 {% data variables.product.prodname_actions %} 要将 OIDC 与 HashiCorp Vault 配合使用,您需要为 {% data variables.product.prodname_dotcom %} OIDC 提供商添加信任配置。 更多信息请参阅 HashiCorp Vault [文档](https://www.vaultproject.io/docs/auth/jwt)。 -配置 Vault 接受 JSON Web 令牌 (JWT) 进行身份验证: -- 对于 `oidc_discovery_url`,请使用 {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- 对于 `bound_issuer`,请使用 {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %} -- 确保针对您的安全要求正确定义了 `bound_subject`。 更多信息请参阅[“使用云配置 OIDC 信任”](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-oidc-trust-with-the-cloud)和 [`hashicorp/vault-action`](https://github.com/hashicorp/vault-action)。 +To configure your Vault server to accept JSON Web Tokens (JWT) for authentication: + +1. Enable the JWT `auth` method, and use `write` to apply the configuration to your Vault. For `oidc_discovery_url` and `bound_issuer` parameters, use {% ifversion ghes %}`https://HOSTNAME/_services/token`{% else %}`https://token.actions.githubusercontent.com`{% endif %}. These parameters allow the Vault server to verify the received JSON Web Tokens (JWT) during the authentication process. + + ```sh{:copy} + vault auth enable jwt + ``` + + ```sh{:copy} + vault write auth/jwt/config \ + bound_issuer="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" \ + oidc_discovery_url="{% ifversion ghes %}https://HOSTNAME/_services/token{% else %}https://token.actions.githubusercontent.com{% endif %}" + ``` +2. Configure a policy that only grants access to the specific paths your workflows will use to retrieve secrets. For more advanced policies, see the HashiCorp Vault [Policies documentation](https://www.vaultproject.io/docs/concepts/policies). + + ```sh{:copy} + vault policy write myproject-production - <`:将此值替换为您的 HashiCorp Vault 的URL。 +- ``: Replace this with the Namespace you've set in HashiCorp Vault. For example: `admin`. - ``:将此值替换为您在 HashiCorp Vault 信任关系中设置的角色。 -- ``:将此值替换为您在 HashiCorp Vault 信任关系中定义的受众。 -- ``:将此值替换为您从 HashiCorp Vault 检索的机密的路径。 例如:`secret/data/ci npmToken`。 +- ``:将此值替换为您从 HashiCorp Vault 检索的机密的路径。 For example: `secret/data/production/ci npmToken`. ```yaml{:copy} jobs: - retrieve-secret: - steps: - - name: Retrieve secret from Vault - uses: hashicorp/vault-action@v2.4.0 - with: - url: - role: - method: jwt - jwtGithubAudience: - secrets: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + method: jwt + url: + namespace: + role: + secrets: - - name: Use secret from Vault - run: | - # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. +``` + +{% note %} + +**注**: + +- If your Vault server is not accessible from the public network, consider using a self-hosted runner with other available Vault [auth methods](https://www.vaultproject.io/docs/auth). 更多信息请参阅“[关于自托管运行器](/actions/hosting-your-own-runners/about-self-hosted-runners)”。 +- `` must be set for a Vault Enterprise (including HCP Vault) deployment. For more information, see [Vault namespace](https://www.vaultproject.io/docs/enterprise/namespaces). + +{% endnote %} + +### Revoking the access token + +By default, the Vault server will automatically revoke access tokens when their TTL is expired, so you don't have to manually revoke the access tokens. However, if you do want to revoke access tokens immediately after your job has completed or failed, you can manually revoke the issued token using the [Vault API](https://www.vaultproject.io/api/auth/token#revoke-a-token-self). + +1. Set the `exportToken` option to `true` (default: `false`). This exports the issued Vault access token as an environment variable: `VAULT_TOKEN`. +2. Add a step to call the [Revoke a Token (Self)](https://www.vaultproject.io/api/auth/token#revoke-a-token-self) Vault API to revoke the access token. + +```yaml{:copy} +jobs: + retrieve-secret: + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Retrieve secret from Vault + uses: hashicorp/vault-action@v2.4.0 + with: + exportToken: true + method: jwt + url: + role: + secrets: + + - name: Use secret from Vault + run: | + # This step has access to the secret retrieved above; see hashicorp/vault-action for more details. + + - name: Revoke token + # This step always runs at the end regardless of the previous steps result + if: always() + run: | + curl -X POST -sv -H "X-Vault-Token: {% raw %}${{ env.VAULT_TOKEN }}{% endraw %}" \ + /v1/auth/token/revoke-self ``` diff --git a/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md b/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md index 3d3d21dcfd..af140033c8 100644 --- a/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md +++ b/translations/zh-CN/content/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows.md @@ -23,11 +23,18 @@ topics: 您可以创建一个可重用的工作流程来执行部署步骤,而不是将部署作业从一个工作流程复制并粘贴到另一个工作流程。 如果可重用工作流程满足“[重用工作流](/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows)”中所述的访问要求之一,则可以由另一个工作流程使用。 -与 OpenID Connect (OIDC) 结合使用时,可重用工作流程可让您在存储库、组织或企业中实施一致的部署。 为此,可以基于可重用工作流程在云角色上定义信任条件。 +You should be familiar with the concepts described in "\[Reusing workflows\](/actions/learn-github-actions/reusing-workflows" and "[About security hardening with OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)." -为了创建基于可重用工作流程的信任条件,云提供商必须支持 `job_workflow_ref` 的自定义声明。 这允许您的云提供商确定作业最初来自哪个存储库。 如果您的云提供商仅支持标准声明(_受众_和_主题_),则无法确定作业是否源自可重用工作流程存储库。 支持 `job_workflow_ref` 的云提供商包括 Google Cloud Platform 和 HashiCorp Vault。 +## Defining the trust conditions -在继续之前,您应该熟悉[可重用工作流程](/actions/learn-github-actions/reusing-workflows) 和 [OpenID Connect](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect) 的概念。 +与 OpenID Connect (OIDC) 结合使用时,可重用工作流程可让您在存储库、组织或企业中实施一致的部署。 为此,可以基于可重用工作流程在云角色上定义信任条件。 The available options will vary depending on your cloud provider: + +- **Using `job_workflow_ref`**: + - To create trust conditions based on reusable workflows, your cloud provider must support custom claims for `job_workflow_ref`. 这允许您的云提供商确定作业最初来自哪个存储库。 + - For clouds that only support the standard claims (audience (`aud`) and subject (`sub`)), you can use the API to customize the `sub` claim to include `job_workflow_ref`. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". Support for custom claims is currently available for Google Cloud Platform and HashiCorp Vault. + +- **Customizing the token claims**: + - You can configure more granular trust conditions by customizing the issuer (`iss`) and subject (`sub`) claims included with the JWT. For more information, see "[Customizing the token claims](/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-token-claims)". ## 令牌如何与可重用工作流程配合使用 diff --git a/translations/zh-CN/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/translations/zh-CN/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index 14e01a6ba9..d95f60b37a 100644 --- a/translations/zh-CN/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/translations/zh-CN/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -18,15 +18,23 @@ shortTitle: 启动时运行运行器应用程序 {% capture service_first_step %}1. 如果自托管的运行器应用程序正在运行,请停止它。{% endcapture %} {% capture service_non_windows_intro_shell %}在运行器机器上,在安装了自托管运行器应用程序的目录中打开 shell。 使用以下命令安装和管理自托管的运行器服务。{% endcapture %} -{% capture service_nonwindows_intro %}将自托管的运行器应用程序配置为服务之前,您必须添加运行器到 {% data variables.product.product_name %}。 更多信息请参阅“[添加自托管的运行器](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)”。{% endcapture %} -{% capture service_win_name %}actions.runner.*{% endcapture %} +{% capture service_nonwindows_intro %} + +{% note %} + +**Note:** You must add a runner to {% data variables.product.product_name %} before you can configure the self-hosted runner application as a service. 更多信息请参阅“[添加自托管的运行器](/github/automating-your-workflow-with-github-actions/adding-self-hosted-runners)”。 + +{% endnote %} +{% endcapture %} + +{% capture service_win_name %}actions.runner.*{% endcapture %} {% linux %} {{ service_nonwindows_intro }} -对于使用 `systemd` 的 Linux 系统,您可以使用随自托管运行器应用程序分发的 `svc.h` 脚本来安装和管理应用程序即服务。 +For Linux systems that use `systemd`, you can use the `svc.sh` script that is created after successfully adding the runner to install and manage using the application as a service. {{ service_non_windows_intro_shell }} diff --git a/translations/zh-CN/content/actions/learn-github-actions/contexts.md b/translations/zh-CN/content/actions/learn-github-actions/contexts.md index 5e965096b2..b4a1356f70 100644 --- a/translations/zh-CN/content/actions/learn-github-actions/contexts.md +++ b/translations/zh-CN/content/actions/learn-github-actions/contexts.md @@ -33,17 +33,13 @@ miniTocMaxHeadingLevel: 3 {% data reusables.actions.context-injection-warning %} -| 上下文名称 | 类型 | 描述 | -| ---------- | ---- | ----------------------------------------------------------------- | -| `github` | `对象` | 工作流程运行的相关信息。 更多信息请参阅 [`github` 上下文](#github-context)。 | -| `env` | `对象` | 包含工作流程、作业或步骤中设置的环境变量。 更多信息请参阅 [`env` 上下文](#env-context)。 | -| `job` | `对象` | 有关当前运行的作业的信息。 更多信息请参阅 [`job` 上下文](#job-context)。 | -| `steps` | `对象` | 有关当前作业中已运行的步骤的信息。 更多信息请参阅 [`steps` 上下文](#steps-context)。 | -| `runner` | `对象` | 运行当前作业的运行程序相关信息。 更多信息请参阅 [`runner` 上下文](#runner-context)。 | -| `secrets` | `对象` | 包含可用于工作流程运行的机密的名称和值。 更多信息请参阅 [`secrets` 上下文](#secrets-context)。 | -| `strategy` | `对象` | 有关当前作业的矩阵执行策略的信息。 更多信息请参阅 [`strategy` 上下文](#strategy-context)。 | -| `matrix` | `对象` | 包含在工作流程中定义的应用于当前作业的矩阵属性。 更多信息请参阅 [`matrix` 上下文](#matrix-context)。 | -| `needs` | `对象` | 包含定义为当前作业依赖项的所有作业的输出。 更多信息请参阅 [`needs` 上下文](#needs-context)。 | +| 上下文名称 | 类型 | 描述 | +| -------- | ---- | -------------------------------------------------------- | +| `github` | `对象` | 工作流程运行的相关信息。 更多信息请参阅 [`github` 上下文](#github-context)。 | +| `env` | `对象` | 包含工作流程、作业或步骤中设置的环境变量。 更多信息请参阅 [`env` 上下文](#env-context)。 | +| `job` | `对象` | 有关当前运行的作业的信息。 更多信息请参阅 [`job` 上下文](#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. 更多信息请参阅 [`steps` 上下文](#steps-context)。 | | `runner` | `object` | Information about the runner that is running the current job. 更多信息请参阅 [`runner` 上下文](#runner-context)。 | | `secrets` | `object` | Contains the names and values of secrets that are available to a workflow run. 更多信息请参阅 [`secrets` 上下文](#secrets-context)。 | | `strategy` | `object` | Information about the matrix execution strategy for the current job. 更多信息请参阅 [`strategy` 上下文](#strategy-context)。 | | `matrix` | `object` | Contains the matrix properties defined in the workflow that apply to the current job. 更多信息请参阅 [`matrix` 上下文](#matrix-context)。 | | `needs` | `object` | Contains the outputs of all jobs that are defined as a dependency of the current job. 更多信息请参阅 [`needs` 上下文](#needs-context)。 | {%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-4757 %} | `inputs` | `object` | 包含可重用 {% ifversion actions-unified-inputs %}或手动触发 {% endif %}工作流程的输入。 更多信息请参阅 [`inputs` 上下文](#inputs-context)。 |{% endif %} @@ -390,6 +386,72 @@ jobs: - run: ./run-tests ``` +{% ifversion fpt or ghes > 3.3 or ghae-issue-4757 or ghec %} + +## `jobs` context + +The `jobs` context is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. 更多信息请参阅“[重用工作流程](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)”。 + +| 属性名称 | 类型 | 描述 | +| ------------------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------- | +| `jobs` | `对象` | This is only available in reusable workflows, and can only be used to set outputs for a reusable workflow. 此对象包含下面列出的所有属性。 | +| `jobs..result` | `字符串` | The result of a job in the reusable workflow. 可能的值包括 `success`、`failure`、`cancelled` 或 `skipped`。 | +| `jobs..outputs` | `对象` | The set of outputs of a job in a reusable workflow. | +| `jobs..outputs.` | `字符串` | The value of a specific output for a job in a reusable workflow. | + +### Example contents of the `jobs` context + +This example `jobs` context contains the result and outputs of a job from a reusable workflow run. + +```json +{ + example_job: { + result: success, + outputs: { + output1: hello, + output2: world + } + } +} +``` + +### Example usage of the `jobs` context + +This example reusable workflow uses the `jobs` context to set outputs for the reusable workflow. Note how the outputs flow up from the steps, to the job, then to the `workflow_call` trigger. 更多信息请参阅“[重用工作流程](/actions/using-workflows/reusing-workflows#using-outputs-from-a-reusable-workflow)”。 + +{% raw %} +```yaml{:copy} +name: Reusable workflow + +on: + workflow_call: + # Map the workflow outputs to job outputs + outputs: + firstword: + description: "The first output string" + value: ${{ jobs.example_job.outputs.output1 }} + secondword: + description: "The second output string" + value: ${{ jobs.example_job.outputs.output2 }} + +jobs: + example_job: + name: Generate output + runs-on: ubuntu-latest + # Map the job outputs to step outputs + outputs: + output1: ${{ steps.step1.outputs.firstword }} + output2: ${{ steps.step2.outputs.secondword }} + steps: + - id: step1 + run: echo "::set-output name=firstword::hello" + - id: step2 + run: echo "::set-output name=secondword::world" +``` +{% endraw %} + +{% endif %} + ## `steps` 上下文 `steps` 上下文包含有关当前作业中指定了 [`id`](/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepsid) 且已运行的步骤的信息。 diff --git a/translations/zh-CN/content/actions/learn-github-actions/understanding-github-actions.md b/translations/zh-CN/content/actions/learn-github-actions/understanding-github-actions.md index adc7f99fe1..b2945079e8 100644 --- a/translations/zh-CN/content/actions/learn-github-actions/understanding-github-actions.md +++ b/translations/zh-CN/content/actions/learn-github-actions/understanding-github-actions.md @@ -93,7 +93,7 @@ _操作_是 {% data variables.product.prodname_actions %} 平台的自定义应 - 要继续了解 {% data variables.product.prodname_actions %},请参阅“[查找和自定义操作](/actions/learn-github-actions/finding-and-customizing-actions)”。 {% ifversion fpt or ghec or ghes %} -- 要了解 {% data variables.product.prodname_actions %} 的计费方式,请参阅“[关于 {% data variables.product.prodname_actions %} 的计费](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)”。 +- To understand how billing works for {% data variables.product.prodname_actions %}, see "[About billing for {% data variables.product.prodname_actions %}](/actions/reference/usage-limits-billing-and-administration#about-billing-for-github-actions)." {% endif %} ## 联系支持 diff --git a/translations/zh-CN/content/actions/publishing-packages/publishing-nodejs-packages.md b/translations/zh-CN/content/actions/publishing-packages/publishing-nodejs-packages.md index b05078b9e3..aa8257e381 100644 --- a/translations/zh-CN/content/actions/publishing-packages/publishing-nodejs-packages.md +++ b/translations/zh-CN/content/actions/publishing-packages/publishing-nodejs-packages.md @@ -98,9 +98,9 @@ always-auth=true ### 配置目标仓库 -如果您没有在 *package.json* 文件中提供 `repository` 键,则 {% data variables.product.prodname_registry %} 将包发布到您在 *package.json* 文件的 `name` 字段中指定的 {% data variables.product.prodname_dotcom %} 仓库。 例如,名为 `@my-org/test` 的包将被发布到 `my-org/test` {% data variables.product.prodname_dotcom %} 仓库。 +Linking your package to {% data variables.product.prodname_registry %} using the `repository` key is optional. If you choose not to provide the `repository` key in your *package.json* file, then {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the `name` field of the *package.json* file. 例如,名为 `@my-org/test` 的包将被发布到 `my-org/test` {% data variables.product.prodname_dotcom %} 仓库。 If the `url` specified in the `repository` key is invalid, your package may still be published however it won't be linked to the repository source as intended. -但是,如果您提供了 `repository` 键,则该键中的仓库将被用作 {% data variables.product.prodname_registry %} 的目标 npm 注册表。 例如,发布以下 *package.json* 将导致名为 `my-amazing-package` 的包被发布到 `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} 仓库。 +If you do provide the `repository` key in your *package.json* file, then the repository in that key is used as the destination npm registry for {% data variables.product.prodname_registry %}. 例如,发布以下 *package.json* 将导致名为 `my-amazing-package` 的包被发布到 `octocat/my-other-repo` {% data variables.product.prodname_dotcom %} 仓库。 Once published, only the repository source is updated, and the package doesn't inherit any permissions from the destination repository. ```json { diff --git a/translations/zh-CN/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md b/translations/zh-CN/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md index 16c47f1261..e26a9bb8ce 100644 --- a/translations/zh-CN/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md +++ b/translations/zh-CN/content/actions/using-workflows/caching-dependencies-to-speed-up-workflows.md @@ -51,7 +51,7 @@ miniTocMaxHeadingLevel: 3 工作流程可以访问和还原当前分支、基础分支(包括复刻的仓库的基本分支)或默认分支(通常是 `main`)中创建的缓存 例如,在默认分支上创建的缓存可从任何拉取请求访问。 另外,如果分支 `feature-b` 具有基础分支 `feature-a`,则触发于 `feature-b` 的工作流程可以访问默认分支 (`main`)、`feature-a` 和 `feature-b` 中创建的缓存。 -访问限制通过在不同分支之间创建逻辑边界来提供缓存隔离和安全。 例如, 为分支 `feature-a`(具有基础分支 `main`)创建的缓存将无法访问分支 `feature-c`(具有基础分支 `main`)的拉取请求。 +Access restrictions provide cache isolation and security by creating a logical boundary between different branches or tags. 例如, 为分支 `feature-a`(具有基础分支 `main`)创建的缓存将无法访问分支 `feature-c`(具有基础分支 `main`)的拉取请求。 On similar lines, a cache created for the tag `release-a` (from the base `main`) would not be accessible to a workflow triggered for the tag `release-b` (with the base `main`). 仓库中的多个工作流程共享缓存条目。 可以从同一仓库和分支的另一个工作流程访问和恢复为工作流程中的分支创建的缓存。 diff --git a/translations/zh-CN/content/admin/configuration/configuring-github-connect/about-github-connect.md b/translations/zh-CN/content/admin/configuration/configuring-github-connect/about-github-connect.md index 801d3c5066..4b900f7f44 100644 --- a/translations/zh-CN/content/admin/configuration/configuring-github-connect/about-github-connect.md +++ b/translations/zh-CN/content/admin/configuration/configuring-github-connect/about-github-connect.md @@ -8,6 +8,7 @@ type: overview topics: - Enterprise - GitHub Connect +miniTocMaxHeadingLevel: 3 --- ## About {% data variables.product.prodname_github_connect %} @@ -37,6 +38,16 @@ Unified contributions | Allow users to include anonymized contribution counts fo ## Data transmission for {% data variables.product.prodname_github_connect %} +When {% data variables.product.prodname_github_connect %} is enabled, a record on {% data variables.product.prodname_ghe_cloud %} stores information about the connection. If you enable individual features of {% data variables.product.prodname_github_connect %}, additional data is transmitted. + +{% note %} + +**Note:** No repositories, issues, or pull requests are ever transmitted from {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} by {% data variables.product.prodname_github_connect %}. + +{% endnote %} + +### Data transmitted when {% data variables.product.prodname_github_connect %} is enabled + When you enable {% data variables.product.prodname_github_connect %} or specific {% data variables.product.prodname_github_connect %} features, a record on {% data variables.product.prodname_ghe_cloud %} stores the following information about the connection. {% ifversion ghes %} - The public key portion of your {% data variables.product.prodname_ghe_server %} license @@ -54,11 +65,7 @@ When you enable {% data variables.product.prodname_github_connect %} or specific {% data variables.product.prodname_github_connect %} syncs the above connection data between {% data variables.product.product_location %} and {% data variables.product.prodname_ghe_cloud %} weekly, from the day and approximate time that {% data variables.product.prodname_github_connect %} was enabled. -{% note %} - -**Note:** No repositories, issues, or pull requests are ever transmitted from {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} by {% data variables.product.prodname_github_connect %}. - -{% endnote %} +### Data transmitted by individual features of {% data variables.product.prodname_github_connect %} Additional data is transmitted if you enable individual features of {% data variables.product.prodname_github_connect %}. @@ -68,7 +75,7 @@ Automatic user license sync | Each {% data variables.product.product_name %} use {% data variables.product.prodname_dependabot_alerts %} | Vulnerability alerts | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} |{% endif %}{% ifversion dependabot-updates-github-connect %} {% data variables.product.prodname_dependabot_updates %} | Dependencies and the metadata for each dependency's repository

If a dependency is stored in a private repository on {% data variables.product.prodname_dotcom_the_website %}, data will only be transmitted if {% data variables.product.prodname_dependabot %} is configured and authorized to access that repository. | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %} | {% data variables.product.product_name %} {% endif %} {% data variables.product.prodname_dotcom_the_website %} actions | Name of action, action (YAML file from {% data variables.product.prodname_marketplace %}) | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %}

From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %}{% ifversion server-statistics %} -{% data variables.product.prodname_server_statistics %} | Aggregate {% data variables.product.prodname_ghe_server %} usage metrics
For the list of aggregate metrics collected, see "[{% data variables.product.prodname_server_statistics %} data collected](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} +{% data variables.product.prodname_server_statistics %} | Aggregate metrics about your usage of {% data variables.product.prodname_ghe_server %}. For the complete list of metrics, see "[About {% data variables.product.prodname_server_statistics %}](/admin/monitoring-activity-in-your-enterprise/analyzing-how-your-team-works-with-server-statistics/about-server-statistics#server-statistics-data-collected)." | From {% data variables.product.product_name %} to {% data variables.product.prodname_ghe_cloud %} | {% data variables.product.prodname_ghe_cloud %}{% endif %} Unified search | Search terms, search results | From {% data variables.product.prodname_dotcom_the_website %} to {% data variables.product.product_name %}

From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.product_name %} | Unified contributions | Contribution counts | From {% data variables.product.product_name %} to {% data variables.product.prodname_dotcom_the_website %} | {% data variables.product.prodname_dotcom_the_website %} | diff --git a/translations/zh-CN/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/translations/zh-CN/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index 09da7fa90d..b6ffe64d1e 100644 --- a/translations/zh-CN/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/translations/zh-CN/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -31,12 +31,15 @@ redirect_from: ## 添加允许的 IP 地址 +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## 允许 {% data variables.product.prodname_github_apps %} 访问 @@ -44,6 +47,8 @@ redirect_from: ## 启用允许的 IP 地址 +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -52,6 +57,8 @@ redirect_from: ## 编辑允许的 IP 地址 +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -59,6 +66,18 @@ redirect_from: {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. 单击 **Update(更新)**。 +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## 删除允许的 IP 地址 diff --git a/translations/zh-CN/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md b/translations/zh-CN/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md index a7b4759223..0ad52e007b 100644 --- a/translations/zh-CN/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md +++ b/translations/zh-CN/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise.md @@ -82,7 +82,11 @@ These restrictions are unacceptable for some enterprises. To determine whether { ### Do your developers rely on collaboration outside of your enterprise? -{% data variables.product.prodname_managed_users_caps %} can only contribute to repositories within your enterprise. If your developers need to collaborate in repositories outside your enterprise, even private repositories, to complete their work, {% data variables.product.prodname_emus %} may not be right for your enterprise, and SAML SSO may be a better solution. +{% data variables.product.prodname_managed_users_caps %} can only contribute to repositories within your enterprise. If your developers must contribute to both repositories within and outside of your enterprise, including private repositories, {% data variables.product.prodname_emus %} may not be right for your enterprise. SAML SSO may be a better solution. + +Some companies maintain repositories within an existing enterprise using SAML SSO on {% data variables.product.product_location %}, and also create an {% data variables.product.prodname_emu_enterprise %}. Developers who contribute to repositories owned by both enterprises from a single workstation must switch between the accounts on {% data variables.product.product_location %} within a single browser, or use a different browser for each account. The developer may also need to customize the workstation's Git configuration to accommodate the two accounts. The complexity of this workflow can increase the risk of mistakenly leaking internal code to the public. + +If you decide to create an {% data variables.product.prodname_emu_enterprise %} but require that developers contribute to resources outside of the enterprise from a single workstation, you can provide support for switching between the accounts in a developer's local Git configuration. For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#supporting-developers-with-multiple-user-accounts-on-githubcom)." ### Does your enterprise rely on outside collaborators? diff --git a/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md b/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md index 86fa66eae0..b6a8459792 100644 --- a/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md +++ b/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md @@ -36,8 +36,6 @@ You can grant {% data variables.product.prodname_managed_users %} access to and The usernames of your enterprise's {% data variables.product.prodname_managed_users %} and their profile information, such as display names and email addresses, are set by through your IdP and cannot be changed by the users themselves. For more information, see "[Usernames and profile information](#usernames-and-profile-information)." -{% data reusables.enterprise-accounts.emu-forks %} - Enterprise owners can audit all of the {% data variables.product.prodname_managed_users %}' actions on {% data variables.product.prodname_dotcom %}. For more information, see "[Audit log events for your enterprise](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#about-audit-log-events-for-your-enterprise)." To use {% data variables.product.prodname_emus %}, you need a separate type of enterprise account with {% data variables.product.prodname_emus %} enabled. For more information about creating this account, see "[About enterprises with managed users](#about-enterprises-with-managed-users)." @@ -75,7 +73,8 @@ To use {% data variables.product.prodname_emus %}, you need a separate type of e * {% data variables.product.prodname_managed_users_caps %} cannot create gists or comment on gists. * {% data variables.product.prodname_managed_users_caps %} cannot install {% data variables.product.prodname_github_apps %} on their user accounts. * Other {% data variables.product.prodname_dotcom %} users cannot see, mention, or invite a {% data variables.product.prodname_managed_user %} to collaborate. -* {% data variables.product.prodname_managed_users_caps %} can only own private repositories and {% data variables.product.prodname_managed_users %} can only invite other enterprise members to collaborate on their owned repositories. +* You can choose whether {% data variables.product.prodname_managed_users %} are able to create repositories owned by their user accounts. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-repository-creation)." +* If you allow {% data variables.product.prodname_managed_users %} to create repositories owned by their user accounts, they can only own private repositories and can only invite other enterprise members to collaborate on their user-owned repositories. * {% data reusables.enterprise-accounts.emu-forks %} * Only private and internal repositories can be created in organizations owned by an {% data variables.product.prodname_emu_enterprise %}, depending on organization and enterprise repository visibility settings. * {% data variables.product.prodname_managed_users_caps %} are limited in their use of {% data variables.product.prodname_pages %}. For more information, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages#limitations-for-enterprise-managed-users)." @@ -113,6 +112,8 @@ Before your developers can use {% data variables.product.prodname_ghe_cloud %} w 5. Once authentication and provisioning are configured, you can start provisioning members and managing teams. For more information, see "[Managing team memberships with identity provider groups](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)." +If members of your enterprise must use one workstation to contribute to repositories on {% data variables.product.product_location %} from both a {% data variables.product.prodname_managed_user %} and a personal account, you can provide support. For more information, see "[Supporting developers with multiple user accounts on {% data variables.product.prodname_dotcom_the_website %}](#supporting-developers-with-multiple-user-accounts-on-githubcom)." + ## Authenticating as a {% data variables.product.prodname_managed_user %} {% data variables.product.prodname_managed_users_caps %} must authenticate through their identity provider. To authenticate, a {% data variables.product.prodname_managed_user %} can visit their IdP application portal or use the login page on {% data variables.product.prodname_dotcom_the_website %}. @@ -135,3 +136,9 @@ Before your developers can use {% data variables.product.prodname_ghe_cloud %} w A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)." The profile name and email address of a {% data variables.product.prodname_managed_user %} is also provided by the IdP. {% data variables.product.prodname_managed_users_caps %} cannot change their profile name or email address on {% data variables.product.prodname_dotcom %}, and the IdP can only provide a single email address. + +## Supporting developers with multiple user accounts on {% data variables.product.product_location %} + +People on your team may need to contribute to resources on {% data variables.product.product_location %} that are outside of your {% data variables.product.prodname_emu_enterprise %}. For example, you may wish to maintain a separate enterprise for your company's open source projects. Because a {% data variables.product.prodname_managed_user %} cannot contribute to public resources, users will need to maintain a separate, personal account for this work. + +People who must contribute from two user accounts on {% data variables.product.product_location %} using one workstation can configure Git to simplify the process. For more information, see "[Managing multiple accounts](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/managing-multiple-accounts)." diff --git a/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md b/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md index ef85ae0631..b1f16a8b7b 100644 --- a/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md +++ b/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-support-for-your-idps-conditional-access-policy.md @@ -22,9 +22,11 @@ topics: 有关将 OIDC 与 {% data variables.product.prodname_emus %} 配合使用的更多信息,请参阅“[为企业托管用户配置 OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/configuring-oidc-for-enterprise-managed-users)”和“[从 SAML 迁移到 OIDC](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc)”。 -## 关于将 CAP 与 IP 允许列表一起使用 +{% note %} -我们建议您禁用企业帐户的 IP 允许列表,并依靠 IdP 的 CAP。 如果您为企业启用 IP 允许列表,并且还利用 IdP 的 CAP,则将强制执行 IP 允许列表和 CAP。 如果限制或拒绝用户的 IP 地址,则请求将失败。 有关 IP 允许列表的更多信息,请参阅“[在企业中实施安全设置策略](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)”。 +**Note:** If you use Conditional Access (CA) network location policies in your Azure AD tenant, do not use the IP allow list feature on {% data variables.product.prodname_dotcom_the_website %}, with your enterprise account or with any of the organizations owned by the enterprise. Using both is unsupported and can result in the wrong policy applying. For more information about IP allow lists, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." + +{% endnote %} ## 集成和自动化的注意事项 diff --git a/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md b/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md index f31513ef68..f6e7cb1071 100644 --- a/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md +++ b/translations/zh-CN/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/migrating-from-saml-to-oidc.md @@ -31,6 +31,7 @@ If you're new to {% data variables.product.prodname_emus %} and haven't yet conf {% endnote %} 1. Before you begin the migration, sign in to Azure and disable provisioning in the existing {% data variables.product.prodname_emu_idp_application %} application. +1. If you use [Conditional Access (CA) network location policies](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) in Azure AD, and you're currently using an IP allow list with your enterprise account or any of the organizations owned by the enterprise account on {% data variables.product.prodname_dotcom_the_website %}, disable the IP allow lists. For more information, see "[Enforcing security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise)" and "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization)." 1. Sign into {% data variables.product.prodname_dotcom_the_website %} as the setup user for your enterprise with the username **@SHORT-CODE_admin**. 1. When prompted to continue to your identity provider, click **Use a recovery code** and sign in using one of your enterprise's recovery codes. {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/translations/zh-CN/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md b/translations/zh-CN/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md index 50f779b7b8..6a414eaa11 100644 --- a/translations/zh-CN/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md +++ b/translations/zh-CN/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md @@ -75,10 +75,12 @@ topics: 以下 SAML 属性可用于 {% data variables.product.product_name %}。{% ifversion ghes %} 您可以在管理控制台中更改属性名称,但 `administrator` 属性除外。 更多信息请参阅“[访问管理控制台](/admin/configuration/configuring-your-enterprise/accessing-the-management-console)”。{% endif %} -| 名称 | 必填? | 描述 | -|:--------------------- |:--- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `NameID` | 是 | 持久用户标识符。 可以使用任意持久名称标识符格式。 {% ifversion ghec %}如果将企业与 {% data variables.product.prodname_emus %} 一起使用, {% endif %}{% data variables.product.product_name %} 将规范化 `NameID` 元素以用作用户名,除非提供了替代断言之一。 更多信息请参阅“[外部身份验证的用户名注意事项](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)”。 | -| `SessionNotOnOrAfter` | 否 | {% data variables.product.product_name %} 使关联的会话失效的日期。 失效后,此人必须再次进行身份验证才能访问 {% ifversion ghec or ghae %}企业的资源{% elsif ghes %}{% data variables.product.product_location %}{% endif %}。 更多信息请参阅“[会话持续时间和超时](#session-duration-and-timeout)”。 | +| 名称 | 必填? | 描述 | +|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:--- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `NameID` | 是 | 持久用户标识符。 可以使用任意持久名称标识符格式。 | +| {% ifversion ghec %}如果将企业与 {% data variables.product.prodname_emus %} 一起使用, {% endif %}{% data variables.product.product_name %} 将规范化 `NameID` 元素以用作用户名,除非提供了替代断言之一。 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` | 否 | {% data variables.product.product_name %} 使关联的会话失效的日期。 失效后,此人必须再次进行身份验证才能访问 {% ifversion ghec or ghae %}企业的资源{% elsif ghes %}{% data variables.product.product_location %}{% endif %}。 更多信息请参阅“[会话持续时间和超时](#session-duration-and-timeout)”。 | {%- ifversion ghes or ghae %} | `administrator` | 无|当值为 `true` 时,{% data variables.product.product_name %} 会自动将用户提升为 {% ifversion ghes %}站点管理员{% elsif ghae %}企业所有者{% endif %}。 将此属性设置为除 `true` 以外的任何值都将导致降级,只要该值不为空。 省略此属性或将值留空不会更改用户的角色。 | | `username` | 无 | {% data variables.product.product_location %} 的用户名。 | {%- endif %} diff --git a/translations/zh-CN/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/translations/zh-CN/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md index 851db4fda6..e9ee55ce39 100644 --- a/translations/zh-CN/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md +++ b/translations/zh-CN/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -44,7 +44,8 @@ Enterprise owners can set up{% ifversion pause-audit-log-stream %}, pause,{% end - [Amazon S3](#setting-up-streaming-to-amazon-s3) - [Azure Blob Storage](#setting-up-streaming-to-azure-blob-storage) -- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs) +- [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs){% ifversion streaming-datadog %} +- [Datadog](#setting-up-streaming-to-datadog){% endif %} - [Google Cloud Storage](#setting-up-streaming-to-google-cloud-storage) - [Splunk](#setting-up-streaming-to-splunk) @@ -231,6 +232,32 @@ Then, set up streaming with access keys until the vulnerability is resolved. For {% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +{% ifversion streaming-datadog %} +### Setting up streaming to Datadog + +To set up streaming to Datadog, you must create a client token or an API key in Datadog, then configure audit log streaming in {% data variables.product.product_name %} using the token for authentication. You do not need to create a bucket or other storage container in Datadog. + +After you set up streaming to Datadog, you can see your audit log data by filtering by "github.audit.streaming." For more information, see [Log Management](https://docs.datadoghq.com/logs/). + +1. If you don't already have a Datadog account, create one. +1. In Datadog, generate a client token or an API key, then click **Copy key**. For more information, see [API and Application Keys](https://docs.datadoghq.com/account_management/api-app-keys/) in Datadog Docs. +{% data reusables.enterprise.navigate-to-log-streaming-tab %} +1. Select the **Configure stream** dropdown menu and click **Datadog**. + + ![Screenshot of the "Configure stream" dropdown menu with "Datadog" highlighted](/assets/images/help/enterprises/audit-stream-choice-datadog.png) +1. Under "Token", paste the token you copied earlier. + + ![Screenshot of the "Token" field](/assets/images/help/enterprises/audit-stream-datadog-token.png) +1. Select the "Site" dropdown menu and click your Datadog site. To determine your Datadog site, compare your Datadog URL to the table in [Datadog sites](https://docs.datadoghq.com/getting_started/site/) in Datadog Docs. + + ![Screenshot of the "Site" dropdown menu](/assets/images/help/enterprises/audit-stream-datadog-site.png) +1. To verify that {% data variables.product.prodname_dotcom %} can connect and write to the Datadog endpoint, click **Check endpoint**. + + ![检查端点](/assets/images/help/enterprises/audit-stream-check.png) +{% data reusables.enterprise.verify-audit-log-streaming-endpoint %} +1. After a few minutes, confirm that audit log data is appearing on the **Logs** tab in Datadog. If audit log data is not appearing, confirm that your token and site are correct in {% data variables.product.prodname_dotcom %}. +{% endif %} + ### 设置流式传输到 Google Cloud Storage 要设置流式传输到 Google Cloud Storage,您必须在 Google Cloud 中使用适当的凭据和权限创建一个服务帐户,然后使用服务帐户的凭据在 {% data variables.product.product_name %} 中配置审核日志流以进行身份验证。 @@ -291,6 +318,10 @@ Then, set up streaming with access keys until the vulnerability is resolved. For 暂停流允许您对接收应用程序执行维护,而不会丢失审核数据。 审核日志在 {% data variables.product.product_location %} 上最多存储七天,然后在取消暂停流时导出。 +{% ifversion streaming-datadog %} +Datadog only accepts logs from up to 18 hours in the past. If you pause a stream to a Datadog endpoint for more than 18 hours, you risk losing logs that Datadog won't accept after you resume streaming. +{% endif %} + {% data reusables.enterprise.navigate-to-log-streaming-tab %} 1. 单击 **Pause stream(暂停流)**。 diff --git a/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md index e7c5637f97..49a87dbefd 100644 --- a/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md +++ b/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md @@ -77,12 +77,17 @@ shortTitle: 安全设置策略 ### 添加允许的 IP 地址 +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ### 允许 {% data variables.product.prodname_github_apps %} 访问 @@ -90,6 +95,8 @@ shortTitle: 安全设置策略 ### 启用允许的 IP 地址 +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -98,6 +105,8 @@ shortTitle: 安全设置策略 ### 编辑允许的 IP 地址 +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.security-tab %} @@ -105,6 +114,18 @@ shortTitle: 安全设置策略 {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 8. 单击 **Update(更新)**。 +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +### Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.security-tab %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ### 删除允许的 IP 地址 diff --git a/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 21ad8a9642..6b1166f4a3 100644 --- a/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/translations/zh-CN/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -71,24 +71,28 @@ shortTitle: 仓库管理策略 {% endif %} -## 执行 {% ifversion ghec or ghes or ghae %}基础{% else %}默认{% endif %} 仓库权限的策略 +## Enforcing a policy for base repository permissions -在企业帐户拥有的所有组织中,您可以为组织成员设置{% ifversion ghec or ghes or ghae %}基础{% else %}默认{% endif %}仓库权限级别(无、读取、写入或管理),或允许所有者在组织级别管理设置。 +Across all organizations owned by your enterprise, you can set a base repository permission level (none, read, write, or admin) for organization members, or allow owners to administer the setting on the organization level. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -4. 在“{% ifversion ghec or ghes or ghae %}基础{% else %}默认{% endif %} 权限”下,查看有关更改设置的信息。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -5. 在“{% ifversion ghec or ghes or ghae %}基础{% else %}默认{% endif %} 权限”下,使用下拉菜单并选择策略。 - {% ifversion ghec or ghes or ghae %} - ![带有仓库权限策略选项的下拉菜单](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) - {% else %} - ![带有仓库权限策略选项的下拉菜单](/assets/images/enterprise/business-accounts/repository-permissions-policy-drop-down.png) - {% endif %} +4. Under "Base permissions", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +5. 在“Base permissions(基本权限)”下,使用下拉菜单并选择策略。 ![带有仓库权限策略选项的下拉菜单](/assets/images/help/business-accounts/repository-permissions-policy-drop-down.png) + ## 执行仓库创建策略 -在企业拥有的所有组织中,您可以允许成员创建仓库、将仓库创建限于组织所有者或允许所有者在组织级别管理设置。 如果允许成员创建仓库,您可以选择成员能否创建公共、私有和内部仓库的任意组合。 {% data reusables.repositories.internal-repo-default %} 有关内部仓库的更多信息,请参阅“[创建内部仓库](/articles/creating-an-internal-repository)”。 +在企业拥有的所有组织中,您可以允许成员创建仓库、将仓库创建限于组织所有者或允许所有者在组织级别管理设置。 + +If you allow members to create repositories in your organizations, you can choose which types of repositories (public, private, and internal) that members can create. + +{% ifversion enterprise-namespace-repo-setting %} +{% ifversion ghec %}If your enterprise uses {% data variables.product.prodname_emus %}, you{% else %}You{% endif %} can also prevent users from creating repositories owned by their user accounts. +{% endif %} + +{% data reusables.repositories.internal-repo-default %} 有关内部仓库的更多信息,请参阅“[创建内部仓库](/articles/creating-an-internal-repository)”。 {% data reusables.organizations.repo-creation-constants %} @@ -96,33 +100,32 @@ shortTitle: 仓库管理策略 {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. 在“Repository creation”下,检查有关更改设置的信息。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% ifversion ghes or ghae or ghec %} {% data reusables.enterprise-accounts.repo-creation-policy %} -{% data reusables.enterprise-accounts.repo-creation-types %} -{% else %} -6. 在“Repository creation(仓库创建)”下,使用下拉菜单并选择策略。 - - ![包含仓库创建策略的下拉菜单](/assets/images/enterprise/site-admin-settings/repository-creation-drop-down.png) -{% endif %} +{% data reusables.enterprise-accounts.repo-creation-types %}{% ifversion enterprise-namespace-repo-setting %} +1. Optionally, {% ifversion ghec %}if your enterprise uses {% data variables.product.prodname_emus %} and you want {% endif %}to prevent enterprise members from creating repositories owned by their user accounts, select **Block the creation of user namespace repositories**. ![Screenshot showing the list of disabled options from forking policy](/assets/images/help/business-accounts/restrict-personal-namespace-enabled-setting.png){% endif %} ## 实施有关复刻私有或内部仓库的策略 在企业拥有的所有组织中,您可以允许有权访问私有或内部仓库的人员复刻仓库、永远不允许分支私有或内部仓库,或者允许所有者在组织级别管理设置。 +{% ifversion enterprise-namespace-repo-setting %} +{% note %} + +**Note:** If {% ifversion ghec %}your enterprise uses {% data variables.product.prodname_emus %} and {% endif %}your "Repository creation" policy prevents enterprise members from creating repositories owned by their user accounts, members will not be allowed to fork a repository in their user accounts, regardless of your "Repository forking" policy. + +{% endnote %} +{% endif %} + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 3. 在“Repository forking”(仓库复刻)下,审查有关更改设置的信息。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} 4. 在“Repository forking(仓库复刻)”下,使用下拉菜单并选择策略。 - ![带有仓库复刻策略选项的下拉菜单](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png) - -{% ifversion innersource-fork-policies %} + ![带有仓库复刻策略选项的下拉菜单](/assets/images/help/business-accounts/repository-forking-policy-drop-down.png){% ifversion innersource-fork-policies %} 5. 如果启用了复刻,则可以指定允许用户复刻存储库的位置。 查看有关更改设置的信息并选择策略。 - ![显示存储库复刻策略选项列表的屏幕截图](/assets/images/help/business-accounts/repository-forking-policy-settings.png) -{% endif %} - + ![显示存储库复刻策略选项列表的屏幕截图](/assets/images/help/business-accounts/repository-forking-policy-settings.png){% endif %} ## 执行邀请{% ifversion ghec %} 外部{% endif %} 协作者参与仓库的策略 @@ -140,8 +143,6 @@ shortTitle: 仓库管理策略 ![带邀请策略选项的下拉菜单](/assets/images/enterprise/business-accounts/repository-invitation-policy-drop-down.png) {% endif %} -{% ifversion ghec or ghes or ghae %} - ## 对默认分支名称实施策略 在企业拥有的所有组织中,您可以为成员创建的任何新仓库设置默认分支名称。 您可以选择在所有组织中强制实施默认分支名称,或允许个别组织设置不同的名称。 @@ -152,8 +153,6 @@ shortTitle: 仓库管理策略 4. (可选)要对企业中的所有组织强制实施默认分支名称,请选择 **Enforce across this enterprise(在整个企业中实施)**。 ![强制实施复选框](/assets/images/help/business-accounts/default-branch-name-enforce.png) 5. 单击 **Update(更新)**。 ![更新按钮](/assets/images/help/business-accounts/default-branch-name-update.png) -{% endif %} - ## 执行更改仓库可见性的策略 在您的企业拥有的所有组织中,您可以允许具有管理员权限的成员更改仓库的可见性、将仓库可见性更改限制为组织所有者或允许所有者在组织级别管理设置。 当您阻止成员更改仓库可见性时,只有企业所有者可以更改仓库的可见性。 @@ -163,9 +162,8 @@ shortTitle: 仓库管理策略 {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} -5. 在“Repository visibility change”下,检查有关更改设置的信息。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} - -{% data reusables.enterprise-accounts.repository-visibility-policy %} +1. 在“Repository visibility change”下,检查有关更改设置的信息。 {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} +1. 在“Repository visibility change(仓库可见性更改)”下,使用下拉菜单选择策略。 ![带有仓库可见性策略选项的下拉菜单](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) ## 执行仓库删除和转移的策略 diff --git a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md index a411922d2f..53b7c7225e 100644 --- a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md +++ b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/about-ssh.md @@ -1,6 +1,6 @@ --- title: About SSH -intro: 'Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to {% data variables.product.product_name %} without supplying your username and personal access token at each visit.' +intro: 'Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to {% data variables.product.product_name %} without supplying your username and personal access token at each visit.{% ifversion ssh-commit-verification %} You can also use an SSH key to sign commits.{% endif %}' redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh @@ -16,7 +16,7 @@ topics: {% data reusables.ssh.about-ssh %} For more information about SSH, see [Secure Shell](https://en.wikipedia.org/wiki/Secure_Shell) on Wikipedia. -When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)" and "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." +When you set up SSH, you will need to generate a new private SSH key and add it to the SSH agent. You must also add the public SSH key to your account on {% data variables.product.product_name %} before you use the key to authenticate{% ifversion ssh-commit-verification %} or sign commits{% endif %}. For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)"{% ifversion ssh-commit-verification %}, {% else %} and{% endif %} "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account){% ifversion ssh-commit-verification %}" and "[About commit signature verification](/articles/about-commit-signature-verification){% endif %}." You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." @@ -33,7 +33,6 @@ Organizations that use {% data variables.product.prodname_ghe_cloud %} can provi {% else ghec or ghes or ghae %} If you're a member of an organization that provides SSH certificates, you can use your certificate to access that organization's repositories without adding the certificate to your account on {% data variables.product.product_name %}. You cannot use your certificate to access forks of the organization's repositories, if the forks is owned by your personal account. For more information, see "[About SSH certificate authorities](/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities)." {% endif %} - ## Further reading - "[Troubleshooting SSH](/articles/troubleshooting-ssh)" diff --git a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index a8d2c7aea6..0db0198132 100644 --- a/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/translations/zh-CN/content/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -19,6 +19,8 @@ shortTitle: 添加新的 SSH 密钥 {% data reusables.ssh.about-ssh %} 更多信息请参阅“[关于 SSH](/authentication/connecting-to-github-with-ssh/about-ssh)”。 +{% ifversion ssh-commit-verification %}You can also use SSH to sign commits and tags. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)."{% endif %} + After you generate an SSH key pair, you must add the public key to {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable SSH access for your account. ## 基本要求 @@ -30,111 +32,45 @@ Before adding a new SSH key to your account on {% ifversion ghae %}{% data varia ## Adding a new SSH key to your account -在向您在 {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} 上的帐户添加新 SSH 密钥后,您可以重新配置任何本地存储库以使用 SSH。 更多信息请参阅“[将远程 URL 从 HTTPS 转换为 SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)”。 +After adding a new SSH authentication key to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, you can reconfigure any local repositories to use SSH. 更多信息请参阅“[将远程 URL 从 HTTPS 转换为 SSH](/github/getting-started-with-github/managing-remote-repositories/#switching-remote-urls-from-https-to-ssh)”。 {% data reusables.ssh.key-type-support %} -{% mac %} - {% webui %} -1. 将 SSH 公钥复制到剪贴板。 - - 如果您的 SSH 公钥文件与示例代码不同,请修改文件名以匹配您当前的设置。 在复制密钥时,请勿添加任何新行或空格。 - - ```shell - $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **提示:**如果 `pbcopy` 不可用,可找到隐藏的 `.ssh` 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。 - - {% endtip %} - +{% data reusables.gpg.copy-ssh-public-key %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.ssh %} -4. 单击 **New SSH key(新 SSH 密钥)**或 **Add SSH key(添加 SSH 密钥)**。 ![SSH 密钥按钮](/assets/images/help/settings/ssh-add-ssh-key.png) -5. 在 "Title"(标题)字段中,为新密钥添加描述性标签。 例如,如果您使用的是个人 Mac,此密钥名称可能是 "Personal MacBook Air"。 -6. 将密钥粘贴到 "Key"(密钥)字段。 ![密钥字段](/assets/images/help/settings/ssh-key-paste.png) -7. 单击 **Add SSH key(添加 SSH 密钥)**。 ![添加密钥按钮](/assets/images/help/settings/ssh-add-key.png) +4. 单击 **New SSH key(新 SSH 密钥)**或 **Add SSH key(添加 SSH 密钥)**。 +{% ifversion ssh-commit-verification %} + ![SSH 密钥按钮](/assets/images/help/settings/ssh-add-ssh-key-with-auth.png) +{% else %} + ![SSH 密钥按钮](/assets/images/help/settings/ssh-add-ssh-key.png) +{% endif %} +5. 在 "Title"(标题)字段中,为新密钥添加描述性标签。 For example, if you're using a personal laptop, you might call this key "Personal laptop". +{% ifversion ssh-commit-verification %} +6. Select the type of key, either authentication or signing. For more information about commit signing, see "[About commit signature verification](/articles/about-commit-signature-verification)." +{% endif %} +7. 将密钥粘贴到 "Key"(密钥)字段。 +{% ifversion ssh-commit-verification %} + ![密钥字段](/assets/images/help/settings/ssh-key-paste-with-type.png) +{% else %} + ![密钥字段](/assets/images/help/settings/ssh-key-paste.png) +{% endif %} +8. 单击 **Add SSH key(添加 SSH 密钥)**。 ![添加密钥按钮](/assets/images/help/settings/ssh-add-key.png) {% data reusables.user-settings.sudo-mode-popup %} {% endwebui %} -{% endmac %} - -{% windows %} - -{% webui %} - -1. 将 SSH 公钥复制到剪贴板。 - - 如果您的 SSH 公钥文件与示例代码不同,请修改文件名以匹配您当前的设置。 在复制密钥时,请勿添加任何新行或空格。 - - ```shell - $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard - ``` - - {% tip %} - - **提示:**如果 `clip` 不可用,可找到隐藏的 `.ssh` 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。 - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. 单击 **New SSH key(新 SSH 密钥)**或 **Add SSH key(添加 SSH 密钥)**。 ![SSH 密钥按钮](/assets/images/help/settings/ssh-add-ssh-key.png) -5. 在 "Title"(标题)字段中,为新密钥添加描述性标签。 例如,如果您使用的是个人 Mac,此密钥名称可能是 "Personal MacBook Air"。 -6. 将密钥粘贴到 "Key"(密钥)字段。 ![密钥字段](/assets/images/help/settings/ssh-key-paste.png) -7. 单击 **Add SSH key(添加 SSH 密钥)**。 ![添加密钥按钮](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endwindows %} - -{% linux %} - -{% webui %} - -1. 将 SSH 公钥复制到剪贴板。 - - 如果您的 SSH 公钥文件与示例代码不同,请修改文件名以匹配您当前的设置。 在复制密钥时,请勿添加任何新行或空格。 - - ```shell - $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub - # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file - # displayed in the terminal to your clipboard - ``` - - {% tip %} - - **提示:**或者,您也可以找到隐藏的 `.ssh` 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。 - - {% endtip %} - -{% data reusables.user-settings.access_settings %} -{% data reusables.user-settings.ssh %} -4. 单击 **New SSH key(新 SSH 密钥)**或 **Add SSH key(添加 SSH 密钥)**。 ![SSH 密钥按钮](/assets/images/help/settings/ssh-add-ssh-key.png) -5. 在 "Title"(标题)字段中,为新密钥添加描述性标签。 例如,如果您使用的是个人 Mac,此密钥名称可能是 "Personal MacBook Air"。 -6. 将密钥粘贴到 "Key"(密钥)字段。 ![密钥字段](/assets/images/help/settings/ssh-key-paste.png) -7. 单击 **Add SSH key(添加 SSH 密钥)**。 ![添加密钥按钮](/assets/images/help/settings/ssh-add-key.png) -{% data reusables.user-settings.sudo-mode-popup %} - -{% endwebui %} - -{% endlinux %} - {% cli %} {% data reusables.cli.cli-learn-more %} 在使用 {% data variables.product.prodname_cli %} 将 SSH 密钥添加到帐户之前,必须向 {% data variables.product.prodname_cli %} 进行身份验证。 更多信息请参阅 {% data variables.product.prodname_cli %} 文档中的 [`gh auth login`](https://cli.github.com/manual/gh_auth_login)。 -要将 SSH 密钥添加到您的 GitHub 帐户,请使用 `ssh-key add` 子命令,指定您公钥。 +{% ifversion ssh-commit-verification %}At present, you can only use {% data variables.product.prodname_cli %} to add SSH authentication keys, you cannot add SSH signing keys.{% endif %} + +To add an SSH authentication key to your GitHub account, use the `ssh-key add` subcommand, specifying your public key. ```shell gh ssh-key add key-file diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md index adb05a61f9..6c3a9ec7b0 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/about-commit-signature-verification.md @@ -1,6 +1,6 @@ --- -title: About commit signature verification -intro: 'Using GPG or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on {% data variables.product.product_name %} so other people can be confident that the changes come from a trusted source.' +title: 关于提交签名验证 +intro: 'Using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME, you can sign tags and commits locally. 这些标记或提交在 {% data variables.product.product_name %} 上标示为已验证,便于其他人信任更改来自可信的来源。' redirect_from: - /articles/about-gpg-commit-and-tag-signatures - /articles/about-gpg @@ -15,13 +15,22 @@ versions: topics: - Identity - Access management -shortTitle: Commit signature verification +shortTitle: 提交签名验证 --- -## About commit signature verification -You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} +## 关于提交签名验证 -![Verified commit](/assets/images/help/commits/verified-commit.png) +您可以在本地签署提交和标签,让其他人对您所做更改的源充满信心。 If a commit or tag has a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag {% ifversion fpt or ghec %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} + +![验证的提交](/assets/images/help/commits/verified-commit.png) + +{% ifversion ghes or ghae %} +If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." +{% endif %} + +{% ifversion ssh-commit-verification %} +For most individual users, GPG or SSH will be the best choice for signing commits. S/MIME signatures are usually required in the context of a larger organization. SSH signatures are the simplest to generate. You can even upload your existing authentication key to {% data variables.product.product_name %} to also use as a signing key. Generating a GPG signing key is more involved than generating an SSH key, but GPG has features that SSH does not. A GPG key can expire or be revoked when no longer used. {% data variables.product.product_name %} shows commits that were signed with such a key as "Verified" unless the key was marked as compromised. SSH keys don't have this capability. +{% endif %} {% ifversion fpt or ghec %} Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." @@ -30,39 +39,38 @@ Commits and tags have the following verification statuses, depending on whether Signing commits differs from signing off on a commit. For more information about signing off on commits, see "[Managing the commit signoff policy for your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository)." -### Default statuses +### 默认状态 -| Status | Description | -| -------------- | ----------- | -| **Verified** | The commit is signed and the signature was successfully verified. -| **Unverified** | The commit is signed but the signature could not be verified. -| No verification status | The commit is not signed. +| 状态 | 描述 | +| ------- | -------------- | +| **已验证** | 提交已签名且签名已成功验证。 | +| **未验证** | 提交已签名,但签名无法验证。 | +| 无验证状态 | 提交未签名。 | -### Signature verification for rebase and merge +### 用于变基和合并的签名验证 {% data reusables.pull_requests.rebase_and_merge_verification %} For more information, see "[Rebasing and merging your commits](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github#rebasing-and-merging-your-commits)." -### Statuses with vigilant mode enabled +### 启用了警戒模式的状态 {% data reusables.identity-and-permissions.vigilant-mode-verification-statuses %} -{% else %} -If a commit or tag has a signature that can't be verified, {% data variables.product.product_name %} marks the commit or tag "Unverified." {% endif %} + Repository administrators can enforce required commit signing on a branch to block all commits that are not signed and verified. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)." {% data reusables.identity-and-permissions.verification-status-check %} {% ifversion fpt or ghec or ghes > 3.4 %} -{% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.product_name %} will have a verified status. You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." +{% ifversion ghes %}If a site administrator has enabled web commit signing, {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the web interface. 由 {% data variables.product.product_name %} 签名的提交将具有已验证状态。 You can verify the signature locally using the public key available at `https://HOSTNAME/web-flow.gpg`. For more information, see "[Configuring web commit signing](/admin/configuration/configuring-your-enterprise/configuring-web-commit-signing)." {% else %}{% data variables.product.prodname_dotcom %} will automatically use GPG to sign commits you make using the web interface. Commits signed by {% data variables.product.prodname_dotcom %} will have a verified status. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. -You can optionally choose to have {% data variables.product.prodname_dotcom %} sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} +You can optionally choose to have {% data variables.product.prodname_dotcom %} GPG sign commits you make in {% data variables.product.prodname_github_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)."{% endif %} {% endif %} -## GPG commit signature verification +## GPG 提交签名验证 You can use GPG to sign commits with a GPG key that you generate yourself. @@ -70,13 +78,32 @@ You can use GPG to sign commits with a GPG key that you generate yourself. To sign commits using GPG and have those commits verified on {% data variables.product.product_name %}, follow these steps: -1. [Check for existing GPG keys](/articles/checking-for-existing-gpg-keys) -2. [Generate a new GPG key](/articles/generating-a-new-gpg-key) -3. [Add a GPG key to your GitHub account](/articles/adding-a-gpg-key-to-your-github-account) -4. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) -5. [Sign commits](/articles/signing-commits) -6. [Sign tags](/articles/signing-tags) +1. [检查现有 GPG 密钥](/articles/checking-for-existing-gpg-keys) +2. [生成新 GPG 密钥](/articles/generating-a-new-gpg-key) +3. [添加 GPG 密钥到 GitHub 帐户](/articles/adding-a-gpg-key-to-your-github-account) +4. [将您的签名密钥告诉 Git](/articles/telling-git-about-your-signing-key) +5. [对提交签名](/articles/signing-commits) +6. [对标记签名](/articles/signing-tags) +{% ifversion ssh-commit-verification %} +## SSH commit signature verification + +You can use SSH to sign commits with an SSH public key that you generate yourself. If you already use an SSH key to authenticate with {% data variables.product.product_name %}, you can also upload that same key again for use as a signing key. There's no limit on the number of signing keys you can add to your account. + +{% data variables.product.product_name %} uses [ssh_data](https://github.com/github/ssh_data), an open source Ruby library, to confirm that your locally signed commits and tags are cryptographically verifiable against a public key you have added to your account on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}. + +{% data reusables.gpg.ssh-git-version %} + +To sign commits using SSH and have those commits verified on {% data variables.product.product_name %}, follow these steps: + +1. [Check for existing SSH keys](/articles/checking-for-existing-ssh-keys) +2. [Generate a new SSH key](/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) +3. [Add a SSH signing key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account) +4. [将您的签名密钥告诉 Git](/articles/telling-git-about-your-signing-key) +5. [对提交签名](/articles/signing-commits) +6. [对标记签名](/articles/signing-tags) + +{% endif %} ## S/MIME commit signature verification You can use S/MIME to sign commits with an X.509 key issued by your organization. @@ -87,9 +114,9 @@ You can use S/MIME to sign commits with an X.509 key issued by your organization To sign commits using S/MIME and have those commits verified on {% data variables.product.product_name %}, follow these steps: -1. [Tell Git about your signing key](/articles/telling-git-about-your-signing-key) -2. [Sign commits](/articles/signing-commits) -3. [Sign tags](/articles/signing-tags) +1. [将您的签名密钥告诉 Git](/articles/telling-git-about-your-signing-key) +2. [对提交签名](/articles/signing-commits) +3. [对标记签名](/articles/signing-tags) You don't need to upload your public key to {% data variables.product.product_name %}. @@ -101,8 +128,8 @@ Organizations and {% data variables.product.prodname_github_apps %} that require Signature verification for bots will only work if the request is verified and authenticated as the {% data variables.product.prodname_github_app %} or bot and contains no custom author information, custom committer information, and no custom signature information, such as Commits API. {% endif %} -## Further reading +## 延伸阅读 -- "[Signing commits](/articles/signing-commits)" -- "[Signing tags](/articles/signing-tags)" -- "[Troubleshooting commit signature verification](/articles/troubleshooting-commit-signature-verification)" +- "[对提交签名](/articles/signing-commits)" +- "[对标记签名](/articles/signing-tags)" +- "[提交签名验证故障排除](/articles/troubleshooting-commit-signature-verification)" diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index 056ffdc6fa..5a6d0ce316 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -19,7 +19,7 @@ redirect_from: 当您在计算机上本地工作时,Git 允许您设置更改的作者和提交者的身份。 这可能会使其他人难以确信您创建的提交和标记实际上是由您创建的。 为了帮助解决这个问题,您可以签署您的提交和标签。 更多信息请参阅“[签名提交](/github/authenticating-to-github/signing-commits)”和“[签名标记](/github/authenticating-to-github/signing-tags)”。 {% data variables.product.prodname_dotcom %} 使用验证状态标记已签名的提交和标记。 -默认情况下,如果提交和标记使用已成功验证的 GPG 或 S/MIME 密钥签名,则标记为“已验证”。 如果提交或标记具有 {% data variables.product.prodname_dotcom %} 无法验证的签名,则我们会将提交或标记标示为“未验证”。 在所有其他情况下,都不会显示验证状态。 +By default commits and tags are marked "Verified" if they are signed with a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME key that was successfully verified. 如果提交或标记具有 {% data variables.product.prodname_dotcom %} 无法验证的签名,则我们会将提交或标记标示为“未验证”。 在所有其他情况下,都不会显示验证状态。 但是,您可以通过在 {% data variables.product.prodname_dotcom %} 设置中启用警戒模式,让其他用户对您的提交和标签所赋予的身份更加有信心。 启用警戒模式后,您的所有提交和标记都将被标记为三个验证状态之一。 diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md index 7caea0a09c..b7cf6f3f03 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -29,11 +29,11 @@ topics: {% data reusables.command_line.open_the_multi_os_terminal %} 3. 生成 GPG 密钥对。 由于 GPG 有多个版本,因此您可能需要查询相关的[_手册页_](https://en.wikipedia.org/wiki/Man_page)以找到适当的密钥生成命令。 密钥必须使用 RSA。 - 如果您使用的是 2.1.17 或更高版本,请粘贴以下文本以生成 GPG 密钥对。 - ```shell + ```shell{:copy} $ gpg --full-generate-key ``` - 如果使用的不是 2.1.17 或更高版本,则 `gpg --full-generate-key` 命令无效。 请粘贴以下文本并跳到第 6 步。 - ```shell + ```shell{:copy} $ gpg --default-new-key-algo rsa4096 --gen-key ``` 4. 在提示时,指定要生成的密钥类型,或按 `Enter` 键接受默认值。 @@ -52,10 +52,10 @@ topics: {% data reusables.gpg.list-keys-with-note %} {% data reusables.gpg.copy-gpg-key-id %} 10. 粘贴下面的文本(替换为您要使用的 GPG 密钥 ID)。 在此例中,GPG 密钥 ID 是 `3AA5C34371567BD2`: - ```shell - $ gpg --armor --export 3AA5C34371567BD2 - # Prints the GPG key ID, in ASCII armor format - ``` + ```shell{:copy} + $ gpg --armor --export 3AA5C34371567BD2 + # Prints the GPG key ID, in ASCII armor format + ``` 11. 复制 GPG 密钥,从 `-----BEGIN PGP PUBLIC KEY BLOCK-----` 开始,到 `-----END PGP PUBLIC KEY BLOCK-----` 结束。 12. [将 GPG 密钥添加到 GitHub 帐户](/articles/adding-a-gpg-key-to-your-github-account)。 diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/index.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/index.md index 034ec9b921..770a7485dc 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/index.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/index.md @@ -1,6 +1,6 @@ --- title: 管理提交签名验证 -intro: '您可以使用 GPG 或 S/MIME 在本地对工作进行签名。 {% data variables.product.product_name %} 将会验证这些签名,以便其他人知道提交来自可信的来源。{% ifversion fpt %} {% data variables.product.product_name %} 将自动使用 {% data variables.product.product_name %} web 界面{% endif %}对您的提交签名。' +intro: '{% data variables.product.product_name %} will verify GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME signatures so other people will know that your commits come from a trusted source.{% ifversion fpt %} {% data variables.product.product_name %} will automatically sign commits you make using the {% data variables.product.product_name %} web interface.{% endif %}' redirect_from: - /articles/generating-a-gpg-key - /articles/signing-commits-with-gpg diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-commits.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-commits.md index 2df3b1df59..653f346d7f 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-commits.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-commits.md @@ -1,6 +1,6 @@ --- title: 对提交签名 -intro: 您可以使用 GPG 或 S/MIME 在本地对提交进行签名。 +intro: 'You can sign commits locally using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME.' redirect_from: - /articles/signing-commits-and-tags-using-gpg - /articles/signing-commits-using-gpg @@ -52,9 +52,5 @@ topics: ## 延伸阅读 -* "[检查现有 GPG 密钥](/articles/checking-for-existing-gpg-keys)" -* "[生成新 GPG 密钥](/articles/generating-a-new-gpg-key)" -* "[添加 GPG 密钥到 GitHub 帐户](/articles/adding-a-gpg-key-to-your-github-account)" * "[向 Git 告知您的签名密钥](/articles/telling-git-about-your-signing-key)" -* "[将电子邮件与 GPG 密钥关联](/articles/associating-an-email-with-your-gpg-key)" * "[对标记签名](/articles/signing-tags)" diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-tags.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-tags.md index dbec2ce8fb..9caca61dbc 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-tags.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/signing-tags.md @@ -1,6 +1,6 @@ --- title: 对标记签名 -intro: 您可以使用 GPG 或 S/MIME 在本地对标记进行签名。 +intro: 'You can sign tags locally using GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or S/MIME.' redirect_from: - /articles/signing-tags-using-gpg - /articles/signing-tags @@ -32,9 +32,6 @@ topics: ## 延伸阅读 - "[查看仓库的标记](/articles/viewing-your-repositorys-tags)" -- "[检查现有 GPG 密钥](/articles/checking-for-existing-gpg-keys)" -- "[生成新 GPG 密钥](/articles/generating-a-new-gpg-key)" -- "[添加 GPG 密钥到 GitHub 帐户](/articles/adding-a-gpg-key-to-your-github-account)" - "[向 Git 告知您的签名密钥](/articles/telling-git-about-your-signing-key)" - "[将电子邮件与 GPG 密钥关联](/articles/associating-an-email-with-your-gpg-key)" - "[对提交签名](/articles/signing-commits)" diff --git a/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 9a644896d8..14345ee266 100644 --- a/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/translations/zh-CN/content/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -1,6 +1,6 @@ --- title: 将您的签名密钥告知 Git -intro: 要在本地对提交签名,您需要通知 Git 您想要使用的 GPG 或 X.509 密钥。 +intro: 'To sign commits locally, you need to inform Git that there''s a GPG{% ifversion ssh-commit-verification %}, SSH,{% endif %} or X.509 key you''d like to use.' redirect_from: - /articles/telling-git-about-your-gpg-key - /articles/telling-git-about-your-signing-key @@ -52,8 +52,6 @@ shortTitle: 将您的签名密钥告诉 Git $ killall gpg-agent ``` -{% data reusables.gpg.x-509-key %} - {% endmac %} {% windows %} @@ -75,8 +73,6 @@ shortTitle: 将您的签名密钥告诉 Git {% data reusables.gpg.copy-gpg-key-id %} {% data reusables.gpg.paste-gpg-key-id %} -{% data reusables.gpg.x-509-key %} - {% endwindows %} {% linux %} @@ -101,15 +97,25 @@ shortTitle: 将您的签名密钥告诉 Git ```bash $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc ``` - {% endlinux %} +{% ifversion ssh-commit-verification %} +## Telling Git about your SSH key + +You can use an existing SSH key to sign commits and tags, or generate a new one specifically for signing. 更多信息请参阅“[生成新的 SSH 密钥并添加到 ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)”。 + +{% data reusables.gpg.ssh-git-version %} + +{% data reusables.command_line.open_the_multi_os_terminal %} +{% data reusables.gpg.configure-ssh-signing %} +{% data reusables.gpg.copy-ssh-public-key %} +{% data reusables.gpg.paste-ssh-public-key %} + +{% endif %} + +{% data reusables.gpg.x-509-key %} ## 延伸阅读 -- "[检查现有 GPG 密钥](/articles/checking-for-existing-gpg-keys)" -- "[生成新 GPG 密钥](/articles/generating-a-new-gpg-key)" -- "[在 GPG 密钥中使用经验证的电子邮件地址](/articles/using-a-verified-email-address-in-your-gpg-key)" -- "[添加 GPG 密钥到 GitHub 帐户](/articles/adding-a-gpg-key-to-your-github-account)" -- "[将电子邮件与 GPG 密钥关联](/articles/associating-an-email-with-your-gpg-key)" +- "[Adding a new SSH key to your GitHub account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)." - "[对提交签名](/articles/signing-commits)" - "[对标记签名](/articles/signing-tags)" diff --git a/translations/zh-CN/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/translations/zh-CN/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index 8a1141c9fe..7a608784d7 100644 --- a/translations/zh-CN/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/translations/zh-CN/content/authentication/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -22,7 +22,10 @@ shortTitle: 检查验证状态 1. 在 {% data variables.product.product_name %} 上,导航到您的拉取请求。 {% data reusables.repositories.review-pr-commits %} 3. 在提交的缩写提交哈希旁边,有一个框,显示您的提交签名已验证{% ifversion fpt or ghec %}、部分验证{% endif %}或未验证。 ![已签名提交](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. 要查看有关提交签名的更详细信息,请单击 **Verified(已验证)**{% ifversion fpt or ghec %}、**Partially verified(部分验证)**{% endif %}或 **Unverified(未验证)**。 ![经验证签名提交](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +4. 要查看有关提交签名的更详细信息,请单击 **Verified(已验证)**{% ifversion fpt or ghec %}、**Partially verified(部分验证)**{% endif %}或 **Unverified(未验证)**。 GPG signed commits will show the ID of the key that was used. ![Verified GPG signed commit](/assets/images/help/commits/gpg-signed-commit_verified_details.png) +{% ifversion ssh-commit-verification %} + SSH signed commits will show the signature of the public key that was used. ![Verified SSH signed commit](/assets/images/help/commits/ssh-signed-commit-verified-details.png) +{% endif %} ## 检查标记签名验证状态 diff --git a/translations/zh-CN/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/translations/zh-CN/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index e7fb70174a..81683b18f8 100644 --- a/translations/zh-CN/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/translations/zh-CN/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -49,9 +49,9 @@ All data transferred out, when triggered by {% data variables.product.prodname_a Storage usage is shared with build artifacts produced by {% data variables.product.prodname_actions %} for repositories owned by your account. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." -{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.25 USD per GB of storage per day and $0.50 USD per GB of data transfer. +{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and $0.50 USD per GB of data transfer. -For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would have overages of 148GB for storage and 40GB for data transfer for that month. The storage overage would cost $0.25 USD per GB per day or $37 USD. The overage for data transfer would cost $0.50 USD per GB or $20 USD. +For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would have overages of 148GB for storage and 40GB for data transfer for that month. The storage overage would cost $0.008 USD per GB per day or approximately $37 USD for a 31-day month. The overage for data transfer would cost $0.50 USD per GB or $20 USD. {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} diff --git a/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index a5948aba46..23e20a25a3 100644 --- a/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -43,8 +43,8 @@ By default, the code scanning alerts page is filtered to show alerts for the def ![Summary of alerts](/assets/images/help/repository/code-scanning-click-alert.png) {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} - {% data reusables.code-scanning.alert-default-branch %} - ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} + {% data reusables.code-scanning.alert-default-branch %} + ![The "Affected branches" section in an alert](/assets/images/help/repository/code-scanning-affected-branches.png){% endif %} 1. Optionally, if the alert highlights a problem with data flow, click **Show paths** to display the path from the data source to the sink where it's used. {% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-6249 %} ![The "Show paths" link on an alert](/assets/images/help/repository/code-scanning-show-paths.png) diff --git a/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index 3df17ec3a9..3b895243e4 100644 --- a/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -32,6 +32,12 @@ topics: 您必须在构建代码的容器中运行 {% data variables.product.prodname_codeql %}。 无论您使用的是 {% data variables.product.prodname_codeql_cli %}{% ifversion codeql-runner-supported %}、 {% data variables.product.prodname_codeql_runner %}、{% endif %} 还是 {% data variables.product.prodname_actions %},这都适用。 对于 {% data variables.product.prodname_codeql_cli %} {% ifversion codeql-runner-supported %}或 {% data variables.product.prodname_codeql_runner %}{% endif %},请参阅“[在 CI 系统中安装 {% data variables.product.prodname_codeql_cli %}](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)”{% ifversion codeql-runner-supported %} 或“[在 CI 系统](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)中运行 {% data variables.product.prodname_codeql_runner %}”{% endif %}以了解更多信息。 如果您使用 {% data variables.product.prodname_actions %},请配置工作流程以在同一容器中运行所有操作。 更多信息请参阅“[示例工作流程](#example-workflow)”。 +{% note %} + +**Note:** {% data reusables.code-scanning.non-glibc-linux-support %} + +{% endnote %} + ## 依赖项 如果您使用的容器缺少某些依赖项(例如,Git 必须安装并添加到 PATH 变量),您可能难以运行 {% data variables.product.prodname_code_scanning %}。 If you encounter dependency issues, review the list of software typically included on {% data variables.product.prodname_dotcom %}'s runner images. 有关更多信息,请在以下位置查看特定于版本的 `readme` 文件: diff --git a/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 52e0b98fd3..32cea9db26 100644 --- a/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/translations/zh-CN/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -151,25 +151,29 @@ The names of the {% data variables.product.prodname_code_scanning %} analysis ch ![{% data variables.product.prodname_code_scanning %} pull request checks](/assets/images/help/repository/code-scanning-pr-checks.png) -When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion fpt or ghes > 3.2 or ghae or ghec %}an "Analysis not found"{% else %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. +When the {% data variables.product.prodname_code_scanning %} jobs complete, {% data variables.product.prodname_dotcom %} works out whether any alerts were added by the pull request and adds the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" entry to the list of checks. After {% data variables.product.prodname_code_scanning %} has been performed at least once, you can click **Details** to view the results of the analysis. -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} - ![Analysis not found for commit message](/assets/images/help/repository/code-scanning-analysis-not-found.png) +{% ifversion fpt or ghec or ghes > 3.4 or ghae-issue-7095 %} + +{% elsif ghes < 3.5 or ghae %} +If you used a pull request to add {% data variables.product.prodname_code_scanning %} to the repository, you will initially see {% ifversion ghes > 3.2 or ghae %}an "Analysis not found"{% elsif ghes = 3.2 %}a "Missing analysis"{% endif %} message when you click **Details** on the "{% data variables.product.prodname_code_scanning_capc %} results / TOOL NAME" check. + +{% ifversion ghes > 3.2 or ghae %} + ![Analysis not found for commit message](/assets/images/enterprise/3.4/repository/code-scanning-analysis-not-found.png) The table lists one or more categories. Each category relates to specific analyses, for the same tool and commit, performed on a different language or a different part of the code. For each category, the table shows the two analyses that {% data variables.product.prodname_code_scanning %} attempted to compare to determine which alerts were introduced or fixed in the pull request. For example, in the screenshot above, {% data variables.product.prodname_code_scanning %} found an analysis for the merge commit of the pull request, but no analysis for the head of the main branch. -{% else %} - ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) -{% endif %} -{% ifversion fpt or ghes > 3.2 or ghae or ghec %} ### Reasons for the "Analysis not found" message -{% else %} + +{% elsif ghes = 3.2 %} + ![Missing analysis for commit message](/assets/images/enterprise/3.2/repository/code-scanning-missing-analysis.png) + ### Reasons for the "Missing analysis" message {% endif %} -After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion fpt or ghes > 3.2 or ghae or ghec %}"Analysis not found"{% else %}"Missing analysis for base commit SHA-HASH"{% endif %} message. +After {% data variables.product.prodname_code_scanning %} has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows {% data variables.product.prodname_code_scanning %} to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add {% data variables.product.prodname_code_scanning %} to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the {% ifversion ghes > 3.2 or ghae %}"Analysis not found"{% elsif ghes = 3.2 %}"Missing analysis for base commit SHA-HASH"{% endif %} message. There are other situations where there may be no analysis for the latest commit to the base branch for a pull request. These include: @@ -177,7 +181,7 @@ There are other situations where there may be no analysis for the latest commit To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch. -![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) + ![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) The solution in this situation is to add the name of the base branch to the `on:push` and `on:pull_request` specification in the {% data variables.product.prodname_code_scanning %} workflow on that branch and then make a change that updates the open pull request that you want to scan. @@ -189,6 +193,8 @@ There are other situations where there may be no analysis for the latest commit Merge a trivial change into the base branch to trigger {% data variables.product.prodname_code_scanning %} on this latest commit, then push a change to the pull request to retrigger {% data variables.product.prodname_code_scanning %}. +{% endif %} + ## Next steps After setting up {% data variables.product.prodname_code_scanning %}, and allowing its actions to complete, you can: diff --git a/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md index daeb17e483..74df7049d2 100644 --- a/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -45,9 +45,15 @@ If you upload a second SARIF file for a commit with the same category and from t If you're new to SARIF and want to learn more, see Microsoft's [`SARIF tutorials`](https://github.com/microsoft/sarif-tutorials) repository. -## Preventing duplicate alerts using fingerprints +## Providing data to track {% data variables.product.prodname_code_scanning %} alerts across runs -Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the right line of code when files are edited. +Each time the results of a new code scan are uploaded, the results are processed and alerts are added to the repository. To prevent duplicate alerts for the same problem, {% data variables.product.prodname_code_scanning %} uses fingerprints to match results across various runs so they only appear once in the latest run for the selected branch. This makes it possible to match alerts to the correct line of code when files are edited. The `ruleID` for a result has to be the same across analysis. + +### Reporting consistent filepaths + +The filepath has to be consistent across the runs to enable a computation of a stable fingerprint. If the filepaths differ for the same result, each time there is a new analysis a new alert will be created, and the old one will be closed. This will cause having multiple alerts for the same result. + +### Including data for fingerprint generation {% data variables.product.prodname_dotcom %} uses the `partialFingerprints` property in the OASIS standard to detect when two results are logically identical. For more information, see the "[partialFingerprints property](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611)" entry in the OASIS documentation. @@ -77,6 +83,12 @@ You can check a SARIF file is compatible with {% data variables.product.prodname If you use a code analysis engine other than {% data variables.product.prodname_codeql %}, you can review the supported SARIF properties to optimize how your analysis results will appear on {% data variables.product.prodname_dotcom %}. +{% note %} + +**Note:** You must supply an explicit value for any property marked as "required". The empty string is not supported for required properties. + +{% endnote %} + Any valid SARIF 2.1.0 output file can be uploaded, however, {% data variables.product.prodname_code_scanning %} will only use the following supported properties. ### `sarifLog` object @@ -138,7 +150,7 @@ Each `result` object contains details for one alert in the codebase. Within the | `level`| **Optional.** The severity of the result. This level overrides the default severity defined by the rule. {% data variables.product.prodname_code_scanning_capc %} uses the level to filter results by severity on {% data variables.product.prodname_dotcom %}. | `message.text`| **Required.** A message that describes the result. {% data variables.product.prodname_code_scanning_capc %} displays the message text as the title of the result. Only the first sentence of the message will be displayed when visible space is limited. | `locations[]`| **Required.** The set of locations where the result was detected up to a maximum of 10. Only one location should be included unless the problem can only be corrected by making a change at every specified location. **Note:** At least one location is required for {% data variables.product.prodname_code_scanning %} to display a result. {% data variables.product.prodname_code_scanning_capc %} will use this property to decide which file to annotate with the result. Only the first value of this array is used. All other values are ignored. -| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Preventing duplicate alerts using fingerprints](#preventing-duplicate-alerts-using-fingerprints)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. +| `partialFingerprints`| **Required.** A set of strings used to track the unique identity of the result. {% data variables.product.prodname_code_scanning_capc %} uses `partialFingerprints` to accurately identify which results are the same across commits and branches. {% data variables.product.prodname_code_scanning_capc %} will attempt to use `partialFingerprints` if they exist. If you are uploading third-party SARIF files with the `upload-action`, the action will create `partialFingerprints` for you when they are not included in the SARIF file. For more information, see "[Providing data to track code scanning alerts across runs](#providing-data-to-track-code-scanning-alerts-across-runs)." **Note:** {% data variables.product.prodname_code_scanning_capc %} only uses the `primaryLocationLineHash`. | `codeFlows[].threadFlows[].locations[]`| **Optional.** An array of `location` objects for a `threadFlow` object, which describes the progress of a program through a thread of execution. A `codeFlow` object describes a pattern of code execution used to detect a result. If code flows are provided, {% data variables.product.prodname_code_scanning %} will expand code flows on {% data variables.product.prodname_dotcom %} for the relevant result. For more information, see the [`location` object](#location-object). | `relatedLocations[]`| A set of locations relevant to this result. {% data variables.product.prodname_code_scanning_capc %} will link to related locations when they are embedded in the result message. For more information, see the [`location` object](#location-object). @@ -204,7 +216,7 @@ These example SARIF output files show supported properties and example values. ### Example with minimum required properties -This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties or don't include values, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. +This SARIF output file has example values to show the minimum required properties for {% data variables.product.prodname_code_scanning %} results to work as expected. If you remove any properties, omit values, or use an empty string, this data will not be displayed correctly or sync on {% data variables.product.prodname_dotcom %}. ```json { diff --git a/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 1e03a239f3..193ee54f5a 100644 --- a/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/translations/zh-CN/content/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -58,7 +58,7 @@ For more information see the [`upload-sarif` action](https://github.com/github/c The `upload-sarif` action can be configured to run when the `push` and `scheduled` event occur. For more information about {% data variables.product.prodname_actions %} events, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows)." -If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#preventing-duplicate-alerts-using-fingerprints)." +If your SARIF file doesn't include `partialFingerprints`, the `upload-sarif` action will calculate the `partialFingerprints` field for you and attempt to prevent duplicate alerts. {% data variables.product.prodname_dotcom %} can only create `partialFingerprints` when the repository contains both the SARIF file and the source code used in the static analysis. For more information about preventing duplicate alerts, see "[About SARIF support for code scanning](/code-security/secure-coding/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs)." {% data reusables.code-scanning.upload-sarif-alert-limit %} diff --git a/translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md b/translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md index 25ac6542b6..b99c74265b 100644 --- a/translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md +++ b/translations/zh-CN/content/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file.md @@ -416,7 +416,7 @@ updates: ### `open-pull-requests-limit` -默认情况下, {% data variables.product.prodname_dependabot %} 最多打开五个版本更新的拉取请求。 一旦有五个打开的拉取请求,新的请求将被阻止,直到您合并或关闭一些打开的请求,之后可以在后续更新中打开新的拉取请求。 使用 `open-pull-requests-limit` 可更改此限制。 这也提供了一个简单的方法来暂时禁用包管理器的版本更新。 +默认情况下, {% data variables.product.prodname_dependabot %} 最多打开五个版本更新的拉取请求。 Once there are five open pull requests from {% data variables.product.prodname_dependabot %}, {% data variables.product.prodname_dependabot %} will not open any new requests until some of those open requests are merged or closed. 使用 `open-pull-requests-limit` 可更改此限制。 这也提供了一个简单的方法来暂时禁用包管理器的版本更新。 此选项对安全更新没有影响,因为安全更新具有单独的内部限制:10 个打开的拉取请求。 diff --git a/translations/zh-CN/content/code-security/secret-scanning/about-secret-scanning.md b/translations/zh-CN/content/code-security/secret-scanning/about-secret-scanning.md index 481ec138e4..0110c45c23 100644 --- a/translations/zh-CN/content/code-security/secret-scanning/about-secret-scanning.md +++ b/translations/zh-CN/content/code-security/secret-scanning/about-secret-scanning.md @@ -39,7 +39,7 @@ Service providers can partner with {% data variables.product.company_short %} to {% ifversion secret-scanning-push-protection %} -You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." +You can also enable {% data variables.product.prodname_secret_scanning %} as a push protection for a repository or an organization. When you enable this feature, {% data variables.product.prodname_secret_scanning %} prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. {% ifversion push-protection-custom-link-orgs %}Admins can also specify a custom link that is displayed to the contributor when a push is blocked; the link can contain resources specific to the organization to aid contributors. {% endif %}For more information, see "[Protecting pushes with {% data variables.product.prodname_secret_scanning %}](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." {% endif %} diff --git a/translations/zh-CN/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md b/translations/zh-CN/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md index 39b0c164bf..295f0e2982 100644 --- a/translations/zh-CN/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md +++ b/translations/zh-CN/content/code-security/secret-scanning/protecting-pushes-with-secret-scanning.md @@ -60,17 +60,29 @@ For information on the secrets and service providers supported for push protecti 在命令行上一次最多会显示五个检测到的机密。 如果已在存储库中检测到特定机密,并且警报已存在,{% data variables.product.prodname_dotcom %} 不会阻止该机密。 -![显示当用户尝试将密钥推送到存储库时推送被阻止的屏幕截图](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) +{% ifversion push-protection-custom-link-orgs %} + +Organization admins can provide a custom link that will be displayed when a push is blocked. This custom link can contain organization-specific resources and advice, such as directions on using a recommended secrets vault or who to contact for questions relating to the blocked secret. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +![Screenshot showing that a push is blocked when a user attempts to push a secret to a repository](/assets/images/help/repository/secret-scanning-push-protection-with-custom-link.png) + +{% else %} + +![Screenshot showing that a push is blocked when a user attempts to push a secret to a repository](/assets/images/help/repository/secret-scanning-push-protection-with-link.png) + +{% endif %} {% data reusables.secret-scanning.push-protection-remove-secret %} For more information about remediating blocked secrets, see "[Pushing a branch blocked by push protection](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-on-the-command-line)." -如果确认某个机密是真实的,并且打算稍后修复它,则应尽快修复。 例如,您可以撤销密钥,并从存储库的提交历史记录中删除密钥。 Real secrets that have been exposed must be revoked to avoid unauthorized access. You might consider first rotating the secret before revoking it. 更多信息请参阅“[从仓库中删除敏感数据](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)”。 +If you confirm a secret is real and that you intend to fix it later, you should aim to remediate the secret as soon as possible. For example, you might revoke the secret and remove the secret from the repository's commit history. Real secrets that have been exposed must be revoked to avoid unauthorized access. You might consider first rotating the secret before revoking it. For more information, see "[Removing sensitive data from a repository](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." {% data reusables.secret-scanning.push-protection-multiple-branch-note %} ### 允许推送被阻止的机密 -如果 {% data variables.product.prodname_dotcom %} 阻止了您认为可以安全推送的机密,则可以允许该机密并说明应允许该机密的原因。 +If {% data variables.product.prodname_dotcom %} blocks a secret that you believe is safe to push, you can allow the secret and specify the reason why it should be allowed. {% data reusables.secret-scanning.push-protection-allow-secrets-alerts %} @@ -86,25 +98,33 @@ For information on the secrets and service providers supported for push protecti {% data reusables.secret-scanning.push-protection-web-ui-choice %} -{% data variables.product.prodname_dotcom %} 将在 Web UI 中一次仅显示一个检测到的机密。 如果已在存储库中检测到特定机密,并且警报已存在,{% data variables.product.prodname_dotcom %} 不会阻止该机密。 +{% data variables.product.prodname_dotcom %} will only display one detected secret at a time in the web UI. 如果已在存储库中检测到特定机密,并且警报已存在,{% data variables.product.prodname_dotcom %} 不会阻止该机密。 -可以使用 Web UI 从文件中删除机密。 删除机密后,页面顶部的横幅将更改,并告诉您现在可以提交更改。 +{% ifversion push-protection-custom-link-orgs %} - ![显示密钥修复后允许在 Web UI 中提交的屏幕截图](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) +Organization admins can provide a custom link that will be displayed when a push is blocked. This custom link can contain resources and advice specific to your organization. For example, the custom link can point to a README file with information about the organization's secret vault, which teams and individuals to escalate questions to, or the organization's approved policy for working with secrets and rewriting commit history. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + +You can remove the secret from the file using the web UI. 删除机密后,页面顶部的横幅将更改,并告诉您现在可以提交更改。 + + ![Screenshot showing commit in web ui allowed after secret fixed](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-allowed.png) ### 绕过密钥的推送保护 {% data reusables.secret-scanning.push-protection-remove-secret %} For more information about remediating blocked secrets, see "[Pushing a branch blocked by push protection](/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection#resolving-a-blocked-push-in-the-web-ui)." -如果确认某个机密是真实的,并且打算稍后修复它,则应尽快修复。 更多信息请参阅“[从仓库中删除敏感数据](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)”。 +If you confirm a secret is real and that you intend to fix it later, you should aim to remediate the secret as soon as possible. For more information, see "[Removing sensitive data from a repository](/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository)." -如果 {% data variables.product.prodname_dotcom %} 阻止了您认为可以安全推送的机密,则可以允许该机密并说明应允许该机密的原因。 +If {% data variables.product.prodname_dotcom %} blocks a secret that you believe is safe to push, you can allow the secret and specify the reason why it should be allowed. {% data reusables.secret-scanning.push-protection-allow-secrets-alerts %} {% data reusables.secret-scanning.push-protection-allow-email %} -如果确认某个机密是真实的,并且打算稍后修复它,则应尽快修复。 +If you confirm a secret is real and that you intend to fix it later, you should aim to remediate the secret as soon as possible. 1. 在 {% data variables.product.prodname_dotcom %} 阻止提交时显示在页面顶部的横幅中,单击 **Bypass protection(绕过保护)**。 {% data reusables.secret-scanning.push-protection-choose-allow-secret-options %} diff --git a/translations/zh-CN/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md b/translations/zh-CN/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md index 58a18f2a13..6cbded5445 100644 --- a/translations/zh-CN/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md +++ b/translations/zh-CN/content/code-security/secret-scanning/pushing-a-branch-blocked-by-push-protection.md @@ -26,6 +26,14 @@ The push protection feature of {% data variables.product.prodname_secret_scannin {% endtip %} +{% ifversion push-protection-custom-link-orgs %} + +Organization admins can provide a custom link that will be included in the message from {% data variables.product.product_name %} when your push is blocked. This custom link can contain resources and advice specific to your organization and its policies. + +{% ifversion push-protection-custom-link-orgs-beta %}{% data reusables.advanced-security.custom-link-beta %}{% endif %} + +{% endif %} + ## Resolving a blocked push on the command line {% data reusables.secret-scanning.push-protection-command-line-choice %} diff --git a/translations/zh-CN/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/translations/zh-CN/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md index a5ab209231..c9a6991945 100644 --- a/translations/zh-CN/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md +++ b/translations/zh-CN/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -12,25 +12,25 @@ shortTitle: 私有映像注册表 ## 关于私人映像注册表和 {% data variables.product.prodname_github_codespaces %} -注册表是用于存储、管理和提取专用容器映像的安全空间。 您可以使用一个来存储一个或多个映像。 注册表的示例很多,例如 {% data variables.product.prodname_dotcom %} 容器注册表、Azure 容器注册表或 DockerHub。 +注册表是用于存储、管理和提取专用容器映像的安全空间。 您可以使用一个来存储一个或多个映像。 There are many examples of registries, such as {% data variables.product.prodname_container_registry %}, {% data variables.product.prodname_npm_registry %}, Azure Container Registry, or DockerHub. -{% data variables.product.prodname_dotcom %} 容器注册表可以配置为无缝拉取容器映像,而无需向 {% data variables.product.prodname_github_codespaces %} 提供任何身份验证凭据。 对于其他映像注册表,必须在 {% data variables.product.prodname_dotcom %} 中创建机密以存储访问详细信息,这将允许 {% data variables.product.prodname_codespaces %} 访问存储在该注册表中的映像。 +{% data variables.product.prodname_ghcr_and_npm_registry %} can be configured to allow container images to be pulled seamlessly into {% data variables.product.prodname_github_codespaces %} during codespace creation, without having to provide any authentication credentials. 对于其他映像注册表,必须在 {% data variables.product.prodname_dotcom %} 中创建机密以存储访问详细信息,这将允许 {% data variables.product.prodname_codespaces %} 访问存储在该注册表中的映像。 -## 访问存储在 {% data variables.product.prodname_dotcom %} 容器注册表中的映像 +## Accessing images stored in {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data variables.product.prodname_dotcom %} 容器注册表是 {% data variables.product.prodname_codespaces %} 使用 devcontainer 容器映像的最简单方法。 +{% data variables.product.prodname_ghcr_and_npm_registry %} provide the easiest way for {% data variables.product.prodname_codespaces %} to consume dev container images. -更多信息请参阅“[使用容器注册表](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)”。 +For more information, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)" and "[Working with the npm registry](/packages/working-with-a-github-packages-registry/working-with-the-npm-registry)". ### 访问发布到与代码空间相同的仓库的映像 -如果将容器映像发布到启动代码空间的同一仓库中的 {% data variables.product.prodname_dotcom %} 容器注册表,则在创建代码空间时将自动能够获取该映像。 无需提供任何其他凭据,除非在发布容器映像时未选中 **Inherit access from repo(从仓库继承访问权限)**选项。 +If you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %} in the same repository that the codespace is being launched in, you will automatically be able to fetch that image on codespace creation. 无需提供任何其他凭据,除非在发布容器映像时未选中 **Inherit access from repo(从仓库继承访问权限)**选项。 #### 从发布映像的仓库继承访问权限 -默认情况下,将容器映像发布到 {% data variables.product.prodname_dotcom %} 容器注册表时,该映像将继承从中发布映像的仓库的访问设置。 例如,如果仓库是公共的,则映像也是公共的。 如果仓库是私有的,则映像也是私有的,但可以从仓库访问。 +By default, when you publish a container image to {% data variables.product.prodname_ghcr_or_npm_registry %}, the image inherits the access setting of the repository from which the image was published. 例如,如果仓库是公共的,则映像也是公共的。 如果仓库是私有的,则映像也是私有的,但可以从仓库访问。 -此行为由 **Inherit access from repo(从仓库继承访问权限)**选项控制。 **通过** {% data variables.product.prodname_actions %} 发布时,默认情况下会选择从仓库继承访问权限,但在使用个人访问令牌 (PAT) 直接发布到 {% data variables.product.prodname_dotcom %} 容器注册表时,不会选择从仓库继承访问权限。 +此行为由 **Inherit access from repo(从仓库继承访问权限)**选项控制。 **Inherit access from repo** is selected by default when publishing via {% data variables.product.prodname_actions %}, but not when publishing directly to {% data variables.product.prodname_ghcr_or_npm_registry %} using a Personal Access Token (PAT). 如果在发布映像时未选择 **Inherit access from repo(从仓库继承访问权限)**选项,则可以手动将仓库添加到已发布容器映像的访问控制中。 更多信息请参阅“[配置包的访问控制和可见性](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#inheriting-access-for-a-container-image-from-a-repository)”。 @@ -46,13 +46,13 @@ shortTitle: 私有映像注册表 ### 从代码空间发布容器映像 -从代码空间到容器注册表 {% data variables.product.prodname_dotcom %} 的无缝访问仅限于拉取容器映像。 如果要从代码空间内部发布容器映像,则必须结合使用个人访问令牌 (PAT) 与 `write:packages` 作用域。 +Seamless access from a codespace to {% data variables.product.prodname_ghcr_or_npm_registry %} is limited to pulling container images. 如果要从代码空间内部发布容器映像,则必须结合使用个人访问令牌 (PAT) 与 `write:packages` 作用域。 -我们建议通过 {% data variables.product.prodname_actions %} 发布映像。 更多信息请参阅“[发布 Docker 映像](/actions/publishing-packages/publishing-docker-images)”。 +我们建议通过 {% data variables.product.prodname_actions %} 发布映像。 For more information, see "[Publishing Docker images](/actions/publishing-packages/publishing-docker-images)" and "[Publishing Node.js packages](/actions/publishing-packages/publishing-nodejs-packages)." ## 访问存储在其他容器注册表中的映像 -如果要从不是 {% data variables.product.prodname_dotcom %} 容器注册表的注册表访问容器映像,{% data variables.product.prodname_codespaces %} 将检查是否存在三个机密,这些机密定义了容器注册表的服务器名称、用户名和个人访问令牌 (PAT)。 如果找到这些密钥,{% data variables.product.prodname_github_codespaces %} 将在代码空间中提供注册表。 +If you are accessing a container image from a registry that isn't {% data variables.product.prodname_ghcr_or_npm_registry %}, {% data variables.product.prodname_codespaces %} checks for the presence of three secrets, which define the server name, username, and personal access token (PAT) for a container registry. 如果找到这些密钥,{% data variables.product.prodname_github_codespaces %} 将在代码空间中提供注册表。 - `<*>_CONTAINER_REGISTRY_SERVER` - `<*>_CONTAINER_REGISTRY_USER` diff --git a/translations/zh-CN/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md b/translations/zh-CN/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md index f175675047..9781ece278 100644 --- a/translations/zh-CN/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md +++ b/translations/zh-CN/content/codespaces/customizing-your-codespace/personalizing-github-codespaces-for-your-account.md @@ -90,8 +90,6 @@ You can add further script, preferences, configuration files to your dotfiles re 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)." -## Other available settings - You can also personalize {% data variables.product.prodname_codespaces %} using additional [{% data variables.product.prodname_codespaces %} settings](https://github.com/settings/codespaces): - 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)." diff --git a/translations/zh-CN/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/translations/zh-CN/content/codespaces/developing-in-codespaces/creating-a-codespace.md index 0679d8294a..1f4dee6dd1 100644 --- a/translations/zh-CN/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/translations/zh-CN/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -46,23 +46,20 @@ shortTitle: 创建代码空间 当您访问 {% data variables.product.prodname_github_codespaces %} 时,在查看仓库时会看到 **{% octicon "code" aria-label="The code icon" %} Code(代码)**下拉菜单中的“Codespaces(代码空间)”选项卡。 -在以下条件下,您可以访问代码空间: +You'll have access to {% data variables.product.prodname_github_codespaces %} under the following conditions: -* 您是已启用 {% data variables.product.prodname_codespaces %} 并设定支出限额的组织的成员。 -* 组织所有者已授予您访问 {% data variables.product.prodname_codespaces %}。 -* 仓库归启用 {% data variables.product.prodname_codespaces %} 的组织所有。 +Either all of these are true: +* You are a member, or outside collaborator, of an organization that has enabled {% data variables.product.prodname_codespaces %} and set a spending limit. +* The organization owner has allowed you to create codespaces at the organization's expense. +* The repository for which you want to create a codespace is owned by this organization. -{% note %} +Or both of these are true: +* You are participating in the beta of {% data variables.product.prodname_codespaces %} for individual users. +* Either you own the repository for which you want to create a codespace, or it is owned by an organization of which you are either a member or an outside collaborator. -**注意:** 已使用个人 {% data variables.product.prodname_dotcom %} 帐户加入测试版的个人不会失去 {% data variables.product.prodname_codespaces %} 访问权限,但个人的 {% data variables.product.prodname_codespaces %} 将继续保留在测试版中。 +Before {% data variables.product.prodname_codespaces %} can be used in an organization, an owner or billing manager must have set a spending limit. For more information, see "[About spending limits for Codespaces](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)." -{% endnote %} - -组织所有者可以允许组织的所有成员创建代码空间,将代码空间创建限制为选定的组织成员,或者禁用代码空间的创建。 有关管理对组织内代码空间的访问的更多信息,请参阅“[为组织中的用户启用代码空间](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization#enable-codespaces-for-users-in-your-organization)”。 - -在组织中使用 {% data variables.product.prodname_codespaces %} 之前,所有者或帐单管理员必须设定支出限额。 更多信息请参阅“[关于代码空间的支出限额](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces#about-spending-limits-for-codespaces)”。 - -如果想为您的个人帐户或其他用户拥有的仓库创建代码空间, 并且您有权在已启用 {% data variables.product.prodname_github_codespaces %} 的组织中创建仓库, 您可以将用户拥有的仓库复刻到该组织,然后为该复刻创建一个代码空间。 +Organization owners can specify who can create and use codespaces at the organization's expense. Organization owners can also prevent any codespace usage being charged to the organization. For more information, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." ## 创建代码空间 @@ -79,43 +76,43 @@ shortTitle: 创建代码空间 1. 使用默认选项或在配置高级选项后创建代码空间: - * **使用默认选项** + * **Use the default options** - 要使用默认选项创建代码空间,请单击 **Create codespace on BRANCH(在 [分支] 上创建代码空间)**。 + To create a codespace using the default options, click **Create codespace on BRANCH**. - (可选)在单击 **Create codespace on BRANCH(在 [分支] 上创建代码空间)**之前,可以单击按钮侧面的向下箭头以查看将用于代码空间的计算机类型。 + Optionally, before clicking **Create codespace on BRANCH**, you can click the down arrow at the side of the button to see what machine type will be used for your codespace. - ![查看默认计算机类型](/assets/images/help/codespaces/default-machine-type.png) + ![View the default machine type](/assets/images/help/codespaces/default-machine-type.png) {% note %} - **注意**:默认情况下,将选择对存储库有效的资源最少的计算机类型。 + **Note**: The machine type with the lowest resources that are valid for the repository is selected by default. {% endnote %} - * **配置选项** + * **Configure options** - 要为代码空间配置高级选项,例如不同的计算机类型或特定 `devcontainer.json` 文件: + To configure advanced options for your codespace, such as a different machine type or a particular `devcontainer.json` file: - 1. 单击 **Create codespace on BRANCH(在 [分支] 上创建代码空间)**按钮侧面的向下箭头,然后单击 **Configure and create codespace(配置并创建代码空间)**。 - 1. 单击 **Configure and create codespace(配置并创建代码空间)**按钮。 - 1. 在代码空间的选项页面上,从下拉菜单中选择首选选项。 + 1. Click the down arrow at the side of the **Create codespace on BRANCH** button, then click **Configure and create codespace**. + 1. Click the **Configure and create codespace** button. + 1. On the options page for your codespace, choose your preferred options from the drop-down menus. - ![代码空间选项页](/assets/images/help/codespaces/advanced-options.png) + ![The codespace options page](/assets/images/help/codespaces/advanced-options.png) {% note %} **注:** - * 您可以为选项页面添加书签,以便快速为此存储库和分支创建代码空间。 - * [https://github.com/codespaces/new](https://github.com/codespaces/new) 页面提供了一种为任何存储库和分支创建代码空间的快速方法。 You can get to this page quickly by typing `codespace.new` into your browser's address bar. - * 有关 `devcontainer.json` 文件的详细信息,请参阅“[开发容器简介](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)”。 - * 有关计算机类型的详细信息,请参阅“[更改代码空间的计算机类型](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types)”。 + * You can bookmark the options page to give you a quick way to create a codespace for this repository and branch. + * The [https://github.com/codespaces/new](https://github.com/codespaces/new) page provides a quick way to create a codespace for any repository and branch. You can get to this page quickly by typing `codespace.new` into your browser's address bar. + * For more information about the `devcontainer.json` file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers#devcontainerjson)." + * For more information about machine types, see "[Changing the machine type for your codespace](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace#about-machine-types)." * {% data reusables.codespaces.codespaces-machine-type-availability %} {% endnote %} - 1. 单击 **Start session(开始会话)**。 + 1. Click **Start session**. {% endwebui %} @@ -129,7 +126,7 @@ shortTitle: 创建代码空间 {% data reusables.cli.cli-learn-more %} -要创建新的代码空间,请使用 `gh codespace create` 子命令。 +To create a new codespace, use the `gh codespace create` subcommand. ```shell gh codespace create @@ -137,17 +134,17 @@ gh codespace create You are prompted to choose a repository, a branch, a dev container configuration file (if more than one is available), and a machine type (if more than one is available). -或者,您可以使用标志来指定部分或全部选项: +Alternatively, you can use flags to specify some or all of the options: ```shell gh codespace create -r owner/repo -b branch --devcontainer-path path -m machine-type ``` -In this example, replace `owner/repo` with the repository identifier. 将 `branch` 替换为您希望在代码空间中最初检出的分支的名称或提交的完整 SHA 哈希。 如果使用 `-r` 标志而不使用 `b` 标志,则将从默认分支创建代码空间。 +In this example, replace `owner/repo` with the repository identifier. Replace `branch` with the name of the branch, or the full SHA hash of the commit, that you want to be initially checked out in the codespace. If you use the `-r` flag without the `b` flag, the codespace is created from the default branch. Replace `path` with the path to the dev container configuration file you want to use for the new codespace. If you omit this flag and more than one dev container file is available you will be prompted to choose one from a list. For more information about the dev container configuration file, see "[Introduction to dev containers](/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers)." -将 `machine-type` 替换为可用计算机类型的有效标识符。 标识符是字符串,例如:`basicLinux32gb` 和 `standardLinux32gb`。 可用的计算机类型取决于仓库、您的个人帐户和您的位置。 如果输入无效或不可用的计算机类型,则错误消息中将显示可用类型。 如果省略此标志,并且有多个计算机类型可用,系统将提示您从列表中选择一个计算机类型。 +Replace `machine-type` with a valid identifier for an available machine type. Identifiers are strings such as: `basicLinux32gb` and `standardLinux32gb`. The type of machines that are available depends on the repository, your personal account, and your location. If you enter an invalid or unavailable machine type, the available types are shown in the error message. If you omit this flag and more than one machine type is available you will be prompted to choose one from a list. For full details of the options for this command, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_codespace_create). diff --git a/translations/zh-CN/content/codespaces/developing-in-codespaces/renaming-a-codespace.md b/translations/zh-CN/content/codespaces/developing-in-codespaces/renaming-a-codespace.md index c60f982d9a..99fe098d58 100644 --- a/translations/zh-CN/content/codespaces/developing-in-codespaces/renaming-a-codespace.md +++ b/translations/zh-CN/content/codespaces/developing-in-codespaces/renaming-a-codespace.md @@ -27,7 +27,9 @@ To find the display name of a codespace: ![Screenshot of the Remote Explorer in VS Code](/assets/images/help/codespaces/codespaces-remote-explorer.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=2 %} - In a terminal window on your local machine, use this {% data variables.product.prodname_cli %} command: `gh codespace list`. + ### Permanent codespace names In addition to the display name, when you create a codespace, a permanent name is also assigned to the codespace. The name is a combination of your {% data variables.product.company_short %} handle, the repository name, and some random characters. 例如: `octocat-myrepo-gmc7`。 You can't change this name. diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md index 8d8d58ac5a..ff040d9a82 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Enabling GitHub Codespaces for your organization -shortTitle: Enable Codespaces -intro: 'You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %}.' +shortTitle: 'Enable {% data variables.product.prodname_codespaces %}' +intro: "You can control which users in your organization can use {% data variables.product.prodname_github_codespaces %} at the organization's expense." product: '{% data reusables.gated-features.codespaces %}' -permissions: 'To manage user permissions for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.' +permissions: "To alter an organization's billing settings, you must be an organization owner." redirect_from: - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization @@ -13,25 +13,23 @@ versions: type: how_to topics: - Codespaces - - Permissions + - Billing - Administrator --- - ## About enabling {% data variables.product.prodname_github_codespaces %} for your organization -Organization owners can control which users in your organization can create and use codespaces. +Organization owners can control which users in your organization can create and use codespaces at the organization's expense. -To use codespaces in your organization, you must do the following: +Only people who can clone a repository can create a codespace for that repository. To allow people to create codespaces for repositories owned by your organization, you must: + +- Ensure that users have at least write access to the repositories where they want to use a codespace. For more information, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." +- Ensure that your organization does not have an IP address allow list enabled. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} + +To allow people to create codespaces for which your organization will be billed, you must: -- Ensure that users have [at least write access](/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization) to the repositories where they want to use a codespace. -- [Enable {% data variables.product.prodname_github_codespaces %} for users in your organization](#enable-codespaces-for-users-in-your-organization). You can choose to allow {% data variables.product.prodname_codespaces %} for selected users or only for specific users. - [Set a spending limit](/billing/managing-billing-for-github-codespaces/managing-spending-limits-for-codespaces) -- Ensure that your organization does not have an IP address allow list enabled. For more information, see "[Managing allowed IP addresses for your organization](/{% ifversion fpt %}enterprise-cloud@latest/{% endif %}organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} - -By default, a codespace can only access the repository from which it was created. If you want codespaces in your organization to be able to access other organization repositories that the codespace creator can access, see "[Managing access and security for {% data variables.product.prodname_codespaces %}](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)." - -## Enable {% data variables.product.prodname_codespaces %} for users in your organization +- [Choose who can create codespaces that are billed to your organization](#choose-who-can-create-codespaces-that-are-billed-to-your-organization) {% ifversion fpt %} {% note %} @@ -40,31 +38,44 @@ By default, a codespace can only access the repository from which it was created {% endnote %} {% endif %} + +By default, a codespace can only access the repository from which it was created. If you want codespaces in your organization to be able to access other organization repositories that the codespace creator can access, see "[Managing repository access for your organization's codespaces](/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces)." + +## Choose who can create codespaces that are billed to your organization + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Under "User permissions", select one of the following options: +1. Under "Billing," select one of the following options: - * **Selected users** to select specific organization members to use {% data variables.product.prodname_codespaces %}. - * **Allow for all members** to allow all your organization members to use {% data variables.product.prodname_codespaces %}. - * **Allow for all members and outside collaborators** to allow all your organization members as well as outside collaborators to use {% data variables.product.prodname_codespaces %}. + * **Disabled** - Your organization will not be charged for codespace usage. {% data variables.product.prodname_codespaces %} created for your organization's repositories will be billed to the individual users who create them. + * **Selected members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by selected members will be billed to the organization. + * **All members** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by members of your organization will be billed to the organization. + * **All members and outside collaborators** - {% data variables.product.prodname_codespaces %} created for your organization's repositories by organization members and outside collaborators will be billed to the organization. - ![Radio buttons for "User permissions"](/assets/images/help/codespaces/org-user-permission-settings-outside-collaborators.png) + ![Radio buttons for "Billing"](/assets/images/help/codespaces/codespaces-org-billing-settings.png) {% note %} - **Note:** When you select **Allow for all members and outside collaborators**, all outside collaborators who have been added to specific repositories can create and use {% data variables.product.prodname_codespaces %}. Your organization will be billed for all usage incurred by outside collaborators. For more information on managing outside collaborators, see "[About outside collaborators](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)." + **Note:** When you select **All members and outside collaborators**, all outside collaborators who have been added to specific repositories can create and use {% data variables.product.prodname_codespaces %} for those repositories, and your organization will be billed for this usage. For more information on managing outside collaborators, see "[About outside collaborators](/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization#about-outside-collaborators)." {% endnote %} 1. Click **Save**. +1. If you chose **Selected members**, an input box is displayed for you to enter the names of users you want to select. + + ![Input box for selecting users](/assets/images/help/codespaces/codespaces-org-billing-add-users.png) ## Disabling {% data variables.product.prodname_codespaces %} for your organization +You can prevent the creation and use of codespaces billable to your organization. + +{% data reusables.codespaces.codespaces-disabling-org-billing %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.click-codespaces %} -1. Under "User permissions", select **Disabled**. +1. Under "Billing," select **Disabled**. ## Setting a spending limit diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md index 013b8ed73a..c137d5d4cb 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-billing-for-github-codespaces-in-your-organization.md @@ -35,11 +35,15 @@ redirect_from: ## 禁用或限制 {% data variables.product.prodname_codespaces %} -您可以在组织或存储库中禁用 {% data variables.product.prodname_codespaces %}。 更多信息请参阅“[管理组织的代码空间的存储库访问](/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces)”。 +You can disable all use of {% data variables.product.prodname_github_codespaces %} that would be billed to your organization. Alternatively, you can specify which organization members or collaborators can use {% data variables.product.prodname_codespaces %} at your organization's expense. 更多信息请参阅“[为组织启用 {% data variables.product.prodname_github_codespaces %}](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization)”。 -您还可以限制可以使用 {% data variables.product.prodname_codespaces %} 的单个用户。 更多信息请参阅“[管理组织的用户权限](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)”。 +{% data reusables.codespaces.codespaces-disabling-org-billing %} -您可以限制可用于组织拥有的存储库的计算机类型选择。 这使您可以防止人们使用资源过多的计算机作为其代码空间。 更多信息请参阅“[限制对机器类型的访问](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)”。 +You can configure which repositories can be accessed from codespaces created for a particular repository. 更多信息请参阅“[管理代码空间中对其他存储库的访问](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)”。 + +You can limit the choice of types of machine that are available for codespaces created from repositories owned by your organization. This allows you to prevent people using overly resourced machines for their codespaces, and incurring unnecessary charges. 更多信息请参阅“[限制对机器类型的访问](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)”。 + +You can also restrict how long a codespace can remain unused before it is automatically deleted. This can help to reduce storage costs for {% data variables.product.prodname_codespaces %}. 更多信息请参阅“[限制代码空间的保留期](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)”。 ## 删除未使用的代码空间 @@ -47,6 +51,6 @@ redirect_from: {% note %} -**注意:**只有创建代码空间的人才能将其删除。 目前,组织所有者无法删除其组织内创建的代码空间。 +**Note:** Codespaces are automatically deleted after they have been stopped and have remained inactive for a defined number of days. 更多信息请参阅“[限制代码空间的保留期](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)”。 A codespace can only be manually deleted by the person who created the codespace. {% endnote %} diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md index 4a1d730e30..6ed526bda6 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces.md @@ -20,7 +20,7 @@ redirect_from: {% warning %} -**Deprecation note**: The access and security setting described below is now deprecated and is documented here for reference only. 要启用对其他存储库的扩展访问权限,请将请求的权限添加到开发容器定义中。 更多信息请参阅“[管理代码空间中对其他存储库的访问](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)”。 +**Deprecation note**: The access and security setting described below is now deprecated and is documented here for reference only. To enable expanded access to other repositories, add the requested permissions to your `devcontainer.json` configuration file. 更多信息请参阅“[管理代码空间中对其他存储库的访问](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)”。 {% endwarning %} diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index 8f5b7859ab..7aeeca7a28 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -43,6 +43,8 @@ topics: 如果添加组织范围的策略,则应将其设置为可用于组织中任何存储库的最大计算机类型选择范围。 然后,您可以添加特定于存储库的策略以进一步限制选择。 +{% data reusables.codespaces.codespaces-org-policies-note %} + ## 添加策略以限制可用的计算机类型 {% data reusables.profile.access_org %} diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index 378aadb5c4..9c949fd36f 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -40,6 +40,8 @@ topics: 如果添加具有超时约束的组织范围策略,则应将超时设置为可接受的最长期限。 然后,您可以添加单独的策略,将组织中特定存储库的最大超时时间设置为较短的时间段。 +{% data reusables.codespaces.codespaces-org-policies-note %} + ## 添加策略以设置最大空闲超时期限 {% data reusables.profile.access_org %} diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index eb1e426089..fa311c168f 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -26,6 +26,8 @@ topics: 如果添加具有保留约束的组织范围策略,则应将保留期设置为可接受的最长期限。 然后,您可以添加单独的策略,将组织中特定存储库的最大保留期设置为较短的时间段。 +{% data reusables.codespaces.codespaces-org-policies-note %} + ## 添加策略以设置最大代码空间保留期 {% data reusables.profile.access_org %} diff --git a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index 53eae0a4cb..dd31d3f907 100644 --- a/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/translations/zh-CN/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -36,6 +36,8 @@ topics: 如果添加组织范围的策略,则应将其设置为适用于组织中的任何存储库的最宽松的可见性选项。 然后,您可以添加特定于存储库的策略以进一步限制选择。 +{% data reusables.codespaces.codespaces-org-policies-note %} + ## 添加策略以限制端口可见性选项 {% data reusables.profile.access_org %} diff --git a/translations/zh-CN/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md b/translations/zh-CN/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md index c245c0e369..fab8cd9dd6 100644 --- a/translations/zh-CN/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md +++ b/translations/zh-CN/content/codespaces/troubleshooting/working-with-support-for-github-codespaces.md @@ -31,6 +31,7 @@ redirect_from: 每个代码空间还有一个 ID(标识符)。 默认情况下,这在 {% data variables.product.prodname_vscode %} 中不显示,因此您可能需要先更新 {% data variables.product.prodname_github_codespaces %} 扩展的设置,然后才能访问该 ID。 1. 在 {% data variables.product.prodname_vscode %}、浏览器或桌面中的左侧活动栏中,单击 **Remote Explorer(远程资源管理器)**以显示代码空间的详细信息。 -2. 如果侧边栏包含“Codespace Performance(代码空间性能)”部分,请将鼠标悬停在“Codespace ID(代码空间 ID)”上,然后单击剪贴板图标以复制 ID。 -3. 如果未显示信息,请单击活动栏左下角的 {% octicon "gear" aria-label="The gear icon" %} 以显示“Settings(设置)”选项卡。 -4. 展开 **Extensions(扩展)**,然后单击 **{% data variables.product.prodname_github_codespaces %}** 以显示扩展的设置。 然后启用 **Show Performance Explorer(显示性能资源管理器)**在边栏中显示“Codespace Performance(代码空间性能)”部分。 ![显示性能信息所需的代码空间 ID 和设置](/assets/images/help/codespaces/find-codespace-id.png) +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} +1. 如果侧边栏包含“Codespace Performance(代码空间性能)”部分,请将鼠标悬停在“Codespace ID(代码空间 ID)”上,然后单击剪贴板图标以复制 ID。 +1. 如果未显示信息,请单击活动栏左下角的 {% octicon "gear" aria-label="The gear icon" %} 以显示“Settings(设置)”选项卡。 +1. 展开 **Extensions(扩展)**,然后单击 **{% data variables.product.prodname_github_codespaces %}** 以显示扩展的设置。 然后启用 **Show Performance Explorer(显示性能资源管理器)**在边栏中显示“Codespace Performance(代码空间性能)”部分。 ![显示性能信息所需的代码空间 ID 和设置](/assets/images/help/codespaces/find-codespace-id.png) diff --git a/translations/zh-CN/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/translations/zh-CN/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index d0e1dd4592..52e1519479 100644 --- a/translations/zh-CN/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/translations/zh-CN/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -23,6 +23,8 @@ When an organization has an allow list, third-party applications that connect vi ## Adding an IP address allow list to a {% data variables.product.prodname_github_app %} +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.apps.settings-step %} {% data reusables.user-settings.developer_settings %} {% data reusables.user-settings.github_apps %} diff --git a/translations/zh-CN/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/translations/zh-CN/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md index ca89fbc56b..f864c2ad9a 100644 --- a/translations/zh-CN/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md +++ b/translations/zh-CN/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -1,5 +1,5 @@ --- -title: Rate limits for GitHub Apps +title: GitHub 应用程序的速率限制 intro: '{% data reusables.shortdesc.rate_limits_github_apps %}' redirect_from: - /early-access/integrations/rate-limits @@ -14,7 +14,7 @@ versions: ghec: '*' topics: - GitHub Apps -shortTitle: Rate limits +shortTitle: 速率限制 --- {% data reusables.enterprise.rate_limit %} @@ -23,49 +23,49 @@ shortTitle: Rate limits {% ifversion ghec or fpt %} -## About rate limits for apps +## 关于应用程序的速率限制 -Rate limits for {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} depend on the plan for the organization where you install the application. For more information, see "[{% data variables.product.company_short %}'s products](/get-started/learning-about-github/githubs-products)" and "[Types of {% data variables.product.company_short %} accounts](/get-started/learning-about-github/types-of-github-accounts#organization-accounts)." +{% data variables.product.prodname_github_apps %} 和 {% data variables.product.prodname_oauth_apps %} 的速率限制取决于安装应用程序的组织的计划。 更多信息请参阅“[{% data variables.product.company_short %} 的产品](/get-started/learning-about-github/githubs-products)”和“[{% data variables.product.company_short %} 帐户类型](/get-started/learning-about-github/types-of-github-accounts#organization-accounts)”。 {% endif %} -## Server-to-server requests +## 服务器到服务器请求 {% ifversion ghec or fpt %} -### Default server-to-server rate limits for {% data variables.product.prodname_dotcom_the_website %} +### {% data variables.product.prodname_dotcom_the_website %} 的默认服务器到服务器速率限制 {% endif %} -{% data variables.product.prodname_github_apps %} making server-to-server requests use the installation's minimum rate limit of 5,000 requests per hour. If an application is installed on an organization with more than 20 users, the application receives another 50 requests per hour for each user. Installations that have more than 20 repositories receive another 50 requests per hour for each repository. The maximum rate limit for an installation is 12,500 requests per hour. +发出服务器-服务器请求的 {% data variables.product.prodname_github_apps %} 使用安装的最低速率限制为每小时 5,000 个请求。 如果应用程序安装在具有 20 个以上用户的组织中,则该应用程序每小时为每个用户再接收 50 个请求。 具有 20 个以上仓库的安装每小时会为每个仓库再接收 50 个请求。 安装的最大速率限制为每小时 12,500 个请求。 {% ifversion fpt or ghec %} -### Server-to-server rate limits for {% data variables.product.prodname_ghe_cloud %} +### {% data variables.product.prodname_ghe_cloud %} 的服务器到服务器速率限制 {% endif %} {% ifversion fpt or ghec %} -{% data variables.product.prodname_github_apps %} that are installed on an organization or a repository within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour. +{% data variables.product.prodname_github_apps %} that are installed on an organization within an enterprise on {% data variables.product.product_location %} are subject to a limit of 15,000 requests per hour per organization that has installed the app. {% endif %} -## User-to-server requests +## 用户到服务器请求 -{% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %} can also act on behalf of a user, making user-to-server requests after the user authorizes the app. For more information, see "[Authorizing {% data variables.product.prodname_github_apps %}](/authentication/keeping-your-account-and-data-secure/authorizing-github-apps)" and "[Authorizing {% data variables.product.prodname_oauth_apps %}](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)." +{% data variables.product.prodname_github_apps %} 和 {% data variables.product.prodname_oauth_apps %} 还可以代表用户执行操作,在用户授权应用后发出用户到服务器的请求。 更多信息请参阅“[授权 {% data variables.product.prodname_github_apps %}](/authentication/keeping-your-account-and-data-secure/authorizing-github-apps)”和“[授权 {% data variables.product.prodname_oauth_apps %}](/authentication/keeping-your-account-and-data-secure/authorizing-oauth-apps)”。 -User-to-server requests from {% data variables.product.prodname_oauth_apps %} are authenticated with an OAuth token. User-to-server requests from {% data variables.product.prodname_github_apps %} are authenticated with either an OAuth token or an expiring user access token. For more information, see "[Identifying and authorizing users for {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#identifying-and-authorizing-users-for-github-apps)" and "[Authorizing {% data variables.product.prodname_oauth_apps %}](/developers/apps/building-oauth-apps/authorizing-oauth-apps)." +来自 {% data variables.product.prodname_oauth_apps %} 的用户到服务器请求使用 OAuth 令牌进行身份验证。 来自 {% data variables.product.prodname_github_apps %} 的用户到服务器请求使用 OAuth 令牌或即将过期的用户访问令牌进行身份验证。 更多信息请参阅“[识别和授权 {% data variables.product.prodname_github_apps %} 的用户](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#identifying-and-authorizing-users-for-github-apps)”和“[授权 {% data variables.product.prodname_oauth_apps %}](/developers/apps/building-oauth-apps/authorizing-oauth-apps)”。 {% ifversion fpt or ghec %} -### Default user-to-server rate limits for {% data variables.product.prodname_dotcom_the_website %} +### {% data variables.product.prodname_dotcom_the_website %} 的默认用户到服务器速率限制 {% endif %} {% ifversion ghec %} -The rate limits for user-to-server requests made by {% data variables.product.prodname_github_apps %} depend on where the app is installed. If the app is installed on organizations or repositories owned by an enterprise on {% data variables.product.product_location %}, then the rate is higher than for installations outside an enterprise. +{% data variables.product.prodname_github_apps %} 发出的用户到服务器请求的速率限制取决于应用程序的安装位置。 如果应用程序安装在 {% data variables.product.product_location %} 上由企业拥有的组织或存储库上,则速率高于企业外部的安装。 {% endif %} @@ -73,13 +73,13 @@ The rate limits for user-to-server requests made by {% data variables.product.pr {% ifversion fpt or ghec %} -### User-to-server rate limits for {% data variables.product.prodname_ghe_cloud %} +### {% data variables.product.prodname_ghe_cloud %} 的用户到服务器速率限制 {% data reusables.apps.user-to-server-rate-limits-ghec %} {% endif %} -## Further reading +## 延伸阅读 -- "[Rate limiting](/rest/overview/resources-in-the-rest-api#rate-limiting)" in the REST API documentation -- "[Resource limitations](/graphql/overview/resource-limitations)" in the GraphQL API documentation +- REST API 文档中的“[速率限制](/rest/overview/resources-in-the-rest-api#rate-limiting)” +- GraphQL API 文档中的“[资源限制](/graphql/overview/resource-limitations)” diff --git a/translations/zh-CN/content/developers/overview/about-githubs-apis.md b/translations/zh-CN/content/developers/overview/about-githubs-apis.md index 1283836233..41ecd4fb28 100644 --- a/translations/zh-CN/content/developers/overview/about-githubs-apis.md +++ b/translations/zh-CN/content/developers/overview/about-githubs-apis.md @@ -15,17 +15,3 @@ topics: --- GitHub API 有两个稳定版本:[REST API](/rest) 和 [GraphQL API](/graphql)。 - -## 已弃用版本 - -### 测试版 - -我们在 2014 年 4 月 22 日弃用了测试版 API。 - -### v2 - -我们在 2012 年 6 月 12 日取消了对 API v2 的支持。 - -### v1 - -我们在 2012 年 6 月 12 日取消了对 API v1 的支持。 diff --git a/translations/zh-CN/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/translations/zh-CN/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md index bc200e0243..863cf93064 100644 --- a/translations/zh-CN/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md +++ b/translations/zh-CN/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -37,12 +37,12 @@ $ export SECRET_TOKEN=your_token ## 验证来自 GitHub 的有效负载 -设置密钥令牌后,{% data variables.product.product_name %} 使用它为每个有效负载创建一个哈希签名。 此哈希签名包含在每个请求的标头中,作为 `X-Hub-Signature-256`。 +设置密钥令牌后,{% data variables.product.product_name %} 使用它为每个有效负载创建一个哈希签名。 This hash signature is included with the headers of each request as `x-hub-signature-256`. {% ifversion fpt or ghes or ghec %} {% note %} -**注:** 为了向后兼容,我们还包括使用 SHA-1 哈希函数生成的 `X-Hub-Signature` 标头。 如果可能,我们建议您使用 `X-Hub-Signature-256` 标头以提高安全性。 下面的示例演示使用 `X-Hub-Signature-256` 标头。 +**Note:** For backward-compatibility, we also include the `x-hub-signature` header that is generated using the SHA-1 hash function. If possible, we recommend that you use the `x-hub-signature-256` header for improved security. The example below demonstrates using the `x-hub-signature-256` header. {% endnote %} {% endif %} diff --git a/translations/zh-CN/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/translations/zh-CN/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index 4f13ba2d73..8dde88fa15 100644 --- a/translations/zh-CN/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/translations/zh-CN/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -9,8 +9,8 @@ redirect_from: versions: fpt: '*' children: - - /use-github-at-your-educational-institution - /github-global-campus-for-students - /github-global-campus-for-teachers + - /use-github-at-your-educational-institution --- diff --git a/translations/zh-CN/content/get-started/exploring-projects-on-github/following-organizations.md b/translations/zh-CN/content/get-started/exploring-projects-on-github/following-organizations.md index 64d7144396..b3e02489ca 100644 --- a/translations/zh-CN/content/get-started/exploring-projects-on-github/following-organizations.md +++ b/translations/zh-CN/content/get-started/exploring-projects-on-github/following-organizations.md @@ -7,15 +7,11 @@ topics: - Profile --- -{% note %} - -**Note:** The ability to follow organizations is currently in public beta and subject to change. - -{% endnote %} +{% data reusables.organizations.follow-organizations-beta %} ## About followers on {% data variables.product.product_name %} -When you follow organizations, you'll see their public activity on your personal dashboard. For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." +{% data reusables.organizations.about-following-organizations %} For more information, see "[About your personal dashboard](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/about-your-personal-dashboard#staying-updated-with-activity-from-the-community)." You can unfollow an organization if you do not wish to see their {% ifversion fpt or ghec %}public{% endif %} activity on {% data variables.product.product_name %}. diff --git a/translations/zh-CN/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md b/translations/zh-CN/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md index 97b049d2de..30a25ec8ae 100644 --- a/translations/zh-CN/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md +++ b/translations/zh-CN/content/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github.md @@ -58,11 +58,21 @@ If you have existing source code or repositories stored locally on your computer ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Change the current working directory to your local project. -4. Initialize the local directory as a Git repository. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Add the files in your new local repository. This stages them for the first commit. + ```shell $ git add . # Adds the files in the local repository and stages them for commit. {% data reusables.git.unstage-codeblock %} @@ -95,10 +105,19 @@ If you have existing source code or repositories stored locally on your computer ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Change the current working directory to your local project. -4. Initialize the local directory as a Git repository. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Add the files in your new local repository. This stages them for the first commit. ```shell $ git add . @@ -132,10 +151,19 @@ If you have existing source code or repositories stored locally on your computer ![Create New Repository drop-down](/assets/images/help/repository/repo-create.png) {% data reusables.command_line.open_the_multi_os_terminal %} 3. Change the current working directory to your local project. -4. Initialize the local directory as a Git repository. - ```shell - $ git init -b main - ``` +4. Use the `init` command to initialize the local directory as a Git repository. By default, the initial branch is called `master`. + + If you’re using Git 2.28.0 or a later version, you can set the name of the default branch using `-b`. + + ``` shell + $ git init -b main + ``` + + If you’re using Git 2.27.1 or an earlier version, you can set the name of the default branch using `&& git branch -m`. + + ``` shell + $ git init && git branch -m main + ``` 5. Add the files in your new local repository. This stages them for the first commit. ```shell $ git add . diff --git a/translations/zh-CN/content/get-started/quickstart/be-social.md b/translations/zh-CN/content/get-started/quickstart/be-social.md index 496c283694..fe037d3c37 100644 --- a/translations/zh-CN/content/get-started/quickstart/be-social.md +++ b/translations/zh-CN/content/get-started/quickstart/be-social.md @@ -58,7 +58,23 @@ topics: ![切换帐户上下文下拉列表](/assets/images/help/overview/dashboard-contextswitcher.png) -### 在 {% data variables.product.prodname_dotcom %} 上探索其他项目 +{% ifversion for-you-feed %} + +## 关注组织 + +{% data reusables.organizations.follow-organizations-beta %} + +{% data reusables.organizations.about-following-organizations %} + +To follow an organization, in the header of the organization's page, click **Follow**. + +![组织标题的屏幕截图,突出显示了“关注”按钮](/assets/images/help/profile/organization-profile-following.png) + +For more information, see "[Following organizations](/get-started/exploring-projects-on-github/following-organizations)." + +{% endif %} + +## 在 {% data variables.product.prodname_dotcom %} 上探索其他项目 您可以在 {% data variables.product.prodname_dotcom %} 的 Explore(探索)页面上发现新的和有趣的项目。 您可以为有趣的项目加注星标,以便以后再次轻松找到它们。 访问您的星标页面,查看所有已加星标的项目。 有关星标的更多信息,请参阅“[使用星标保存仓库](/get-started/exploring-projects-on-github/saving-repositories-with-stars)”。 diff --git a/translations/zh-CN/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/translations/zh-CN/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index 113f7e274f..011d82a7f3 100644 --- a/translations/zh-CN/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/translations/zh-CN/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -24,7 +24,7 @@ shortTitle: 转移议题 {% endnote %} -转让议题时,评论、标签和受理人将保留。 不会保留议题的里程碑。 此议题将留在任何用户拥有或组织范围的项目板上,并从任何仓库项目板中删除。 更多信息请参阅“[关于项目板](/articles/about-project-boards)”。 +转让议题时,评论和受理人将保留。 Labels and milestones are also retained if they're present in the target repository, with labels matching by name and milestones matching by both name and due date. 此议题将留在任何用户拥有或组织范围的项目板上,并从任何仓库项目板中删除。 更多信息请参阅“[关于项目板](/articles/about-project-boards)”。 议题中提及的人员或团队将收到通知,告知他们该议题已转让给新仓库。 原来的 URL 会重定向到新议题的 URL。 在新仓库中没有读取权限的人员将看到一个横幅,告知他们该议题已转让给他们无法访问的新仓库。 diff --git a/translations/zh-CN/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md b/translations/zh-CN/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md index 9f5fa57f5d..b6e248b0a4 100644 --- a/translations/zh-CN/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md +++ b/translations/zh-CN/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization.md @@ -36,15 +36,22 @@ permissions: Organization owners can manage allowed IP addresses for an organiza ## 添加允许的 IP 地址 +{% data reusables.identity-and-permissions.about-adding-ip-allow-list-entries %} + +{% data reusables.identity-and-permissions.ipv6-allow-lists %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} {% data reusables.identity-and-permissions.ip-allow-lists-add-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-add-description %} {% data reusables.identity-and-permissions.ip-allow-lists-add-entry %} +{% data reusables.identity-and-permissions.check-ip-address %} ## 启用允许的 IP 地址 +{% data reusables.identity-and-permissions.about-enabling-allowed-ip-addresses %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -69,6 +76,8 @@ permissions: Organization owners can manage allowed IP addresses for an organiza ## 编辑允许的 IP 地址 +{% data reusables.identity-and-permissions.about-editing-ip-allow-list-entries %} + {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.security %} @@ -76,6 +85,18 @@ permissions: Organization owners can manage allowed IP addresses for an organiza {% data reusables.identity-and-permissions.ip-allow-lists-edit-ip %} {% data reusables.identity-and-permissions.ip-allow-lists-edit-description %} 1. 单击 **Update(更新)**。 +{% data reusables.identity-and-permissions.check-ip-address %} + +{% ifversion ip-allow-list-address-check %} +## Checking if an IP address is permitted + +{% data reusables.identity-and-permissions.about-checking-ip-address %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.security %} +{% data reusables.identity-and-permissions.check-ip-address-step %} +{% endif %} ## 删除允许的 IP 地址 diff --git a/translations/zh-CN/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md b/translations/zh-CN/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md index a9eba76639..723c3c29cb 100644 --- a/translations/zh-CN/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md +++ b/translations/zh-CN/content/organizations/managing-organization-settings/enabling-or-disabling-github-discussions-for-an-organization.md @@ -1,6 +1,6 @@ --- title: 为组织启用或禁用 GitHub 讨论 -intro: '您可以使用组织中的 {% data variables.product.prodname_discussions %} 作为组织进行对话的位置,这些对话不特定于组织中的单个存储库。' +intro: 'You can use {% data variables.product.prodname_discussions %} in an organization as a place for your organization to have conversations that aren''t specific to a single repository within your organization.' permissions: 'Organization owners can enable {% data variables.product.prodname_discussions %} for their organization.' versions: feature: discussions diff --git a/translations/zh-CN/content/packages/index.md b/translations/zh-CN/content/packages/index.md index 4773b4809f..785f176d68 100644 --- a/translations/zh-CN/content/packages/index.md +++ b/translations/zh-CN/content/packages/index.md @@ -18,6 +18,7 @@ featuredLinks: guideCards: - '{% ifversion docker-ghcr-enterprise-migration %}/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry{% endif %}' - '{% ifversion fpt or ghec or ghes > 3.4 %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion packages-npm-v2 %}/packages/working-with-a-github-packages-registry/working-with-the-npm-registry{% endif %}' - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry changelog: label: packages diff --git a/translations/zh-CN/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/translations/zh-CN/content/packages/learn-github-packages/about-permissions-for-github-packages.md index c05ba2a02f..de17d09ee4 100644 --- a/translations/zh-CN/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/translations/zh-CN/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -18,20 +18,22 @@ shortTitle: 关于权限 仓库作用域的包从拥有该包的仓库继承权限和可见性。 通过转到仓库的主页并单击页面右侧的 **Packages(包)**链接,您可以找到作用域为仓库的包。 {% ifversion fpt or ghec %}更多信息请参阅“[将仓库连接到包](/packages/learn-github-packages/connecting-a-repository-to-a-package)”。{% endif %} -下面的 {% data variables.product.prodname_registry %} 注册表使用仓库作用域的权限: +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: {% ifversion not fpt or ghec %}- Docker 注册表 (`docker.pkg.github.com`){% endif %} - - npm 注册表 + {% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - RubyGems 注册表 - Apache Maven 注册表 - NuGet 注册表 +{% ifversion packages-npm-v2 %}For {% data variables.product.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} + {% ifversion fpt or ghec %} ## 用户/组织作用域包的精细权限 具有精细权限的包仅限于个人用户或组织帐户。 您可以从与包相连(或链接)的仓库分别更改包的访问控制和可见性。 -目前,只有 {% data variables.product.prodname_container_registry %} 为容器映像包提供精细权限。 +Currently, the {% data variables.product.prodname_ghcr_and_npm_registry %} offer granular permissions for your container image packages. ## 容器映像的可见性和访问权限 diff --git a/translations/zh-CN/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/translations/zh-CN/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md index 4b2ca5591c..c0ebb3641a 100644 --- a/translations/zh-CN/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md +++ b/translations/zh-CN/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -16,7 +16,7 @@ shortTitle: 访问控制和可见性 具有精细权限的包仅限于个人用户或组织帐户。 您可以从与包相连(或链接)的仓库分别更改包的访问控制和可见性。 -目前,您只能对 {% data variables.product.prodname_container_registry %} 使用粒度权限。 我们的其他包注册表(如 npm 注册表)不支持粒度权限。{% ifversion docker-ghcr-enterprise-migration %} 有关迁移到 {% data variables.product.prodname_container_registry %} 的详细信息,请参阅“[从 Docker 注册表迁移到 {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)”。{% endif %} +目前,您只能对 {% data variables.product.prodname_ghcr_and_npm_registry %} 使用粒度权限。 Granular permissions are not supported in our other package registries, such as the RubyGems registry.{% ifversion docker-ghcr-enterprise-migration %} For more information about migration to the {% data variables.product.prodname_container_registry %}, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)."{% endif %} 有关仓库作用域的包、与包相关的 PAT 作用域或管理操作工作流程的权限的更多信息,请参阅“[关于 GitHub Packages 的权限](/packages/learn-github-packages/about-permissions-for-github-packages)”。 @@ -95,7 +95,7 @@ shortTitle: 访问控制和可见性 {% ifversion fpt or ghec %} ## 确保 {% data variables.product.prodname_codespaces %} 访问您的软件包 -默认情况下,代码空间可以无缝访问 {% data variables.product.prodname_dotcom %} 容器注册表中的某些包,例如在选中了 **Inherit access(继承访问)**选项的同一仓库中发布的包。 有关自动配置哪些访问权限的详细信息,请参阅“[访问存储在容器注册表 {% data variables.product.prodname_dotcom %} 中的映像](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-github-container-registry)”。 +By default, a codespace can seamlessly access certain packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, such as those published in the same repository with the **Inherit access** option selected. For more information on which access is automatically configured, see "[Allowing your codespace to access a private image registry](/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry#accessing-images-stored-in-container-registry-and-npm-registry)." 否则,为了确保代码空间能够访问您的软件包,必须授予对启动代码空间的仓库的访问权限。 diff --git a/translations/zh-CN/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/translations/zh-CN/content/packages/learn-github-packages/deleting-and-restoring-a-package.md index f7e9663049..8e50d7fe16 100644 --- a/translations/zh-CN/content/packages/learn-github-packages/deleting-and-restoring-a-package.md +++ b/translations/zh-CN/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -23,12 +23,12 @@ shortTitle: 删除和恢复包 - 整个私有包 - 整个公共包(如果任何包版本不超过 5000 次下载) - 私有包的特定版本 -- 公共包的特定版本(如果包版本不超过 5000 次下载) +- 公共包的特定版本(如果包版本不超过 5,000 次下载) {% note %} **注:** -- 如果任何版本的包下载量超过 5000 次,则无法删除公共包。 在这种情况下,请联系 [GitHub 支持](https://support.github.com/contact?tags=docs-packages) 获取更多帮助。 +- 如果任何版本的包下载量超过 5,000 次,则无法删除公共包。 在这种情况下,请联系 [GitHub 支持](https://support.github.com/contact?tags=docs-packages) 获取更多帮助。 - 删除公共包时,请注意,您可能会破坏依赖于包的项目。 {% endnote %} @@ -46,7 +46,7 @@ shortTitle: 删除和恢复包 {% endif %} -对于从仓库继承其权限和访问权限的包,您可以使用 GraphQL 删除特定的包版本。{% ifversion fpt or ghec %} {% data variables.product.prodname_registry %} GraphQL API 不支持使用包命名空间的容器或 Docker 映像 `https://ghcr.io/OWNER/PACKAGE-NAME`。{% endif %} 有关 GraphQL 支持的更多信息,请参阅“[使用 GraphQL 删除存储库范围包的版本](#deleting-a-version-of-a-repository-scoped-package-with-graphql)”。 +For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% data reusables.package_registry.no-graphql-to-delete-packages %} For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." {% endif %} @@ -54,17 +54,19 @@ shortTitle: 删除和恢复包 对于从仓库继承其访问权限的包,如果您拥有仓库管理权限,则可以删除包。 -{% data variables.product.prodname_registry %} 上仓库范围的包中包括以下包: -- npm -- RubyGems -- maven -- Gradle -- NuGet -{% ifversion not fpt or ghec %}- Docker 映像位于 `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} +The {% data variables.product.prodname_registry %} registries below **only** use repository-scoped permissions: + + {% ifversion not fpt or ghec %}- Docker 映像位于 `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} + {% ifversion packages-npm-v2 %}{% else %}- npm{% endif %} + - RubyGems 注册表 + - Apache Maven 注册表 + - NuGet 注册表 + +{% ifversion packages-npm-v2 %}For {% data variables.product.prodname_ghcr_and_npm_registry %}, you can choose to allow packages to be scoped to a user, an organization, or linked to a repository.{% endif %} {% ifversion fpt or ghec %} -要删除与仓库分开的具有粒度权限的软件包,例如存储在 `https://ghcr.io/OWNER/PACKAGE-NAME` 上的容器映像,您必须对该包具有管理员访问权限。 更多信息请参阅“[关于 {% data variables.product.prodname_registry %} 的权限](/packages/learn-github-packages/about-permissions-for-github-packages)”。 +To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME` or `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`, you must have admin access to the package. 更多信息请参阅“[关于 {% data variables.product.prodname_registry %} 的权限](/packages/learn-github-packages/about-permissions-for-github-packages)”。 {% endif %} @@ -86,9 +88,7 @@ shortTitle: 删除和恢复包 对于从仓库继承其许可和访问权限的包,您可以使用 GraphQL 删除特定的包版本。 -{% ifversion fpt or ghec %} -对于在 `ghcr.io` 上的容器或 Docker 映像,GraphQL 不受支持,但您可以使用 REST API。 更多信息请参阅“[{% data variables.product.prodname_registry %} API](/rest/reference/packages)”。 -{% endif %} +{% data reusables.package_registry.no-graphql-to-delete-packages %}{% ifversion fpt or ghec %} You can however use the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)."{% endif %} 在 GraphQL API 中使用 `deletePackageVersion` 突变。 必须使用具有 `read:packages`、`delete:packages` 和 `repo` 作用域的令牌。 有关令牌的更多信息,请参阅“[关于 {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)”。 diff --git a/translations/zh-CN/content/packages/learn-github-packages/introduction-to-github-packages.md b/translations/zh-CN/content/packages/learn-github-packages/introduction-to-github-packages.md index fc5090006e..5450ffcff9 100644 --- a/translations/zh-CN/content/packages/learn-github-packages/introduction-to-github-packages.md +++ b/translations/zh-CN/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -51,7 +51,7 @@ For more information about the configuration of {% data variables.product.prodna | | | |--------------------|--------------------| -| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Permissions | {% ifversion fpt or ghec %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_ghcr_and_npm_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | | Visibility | {% data reusables.package_registry.public-or-private-packages %} | For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." @@ -101,7 +101,9 @@ For more information about Docker and the {% data variables.product.prodname_con ## Managing packages {% ifversion fpt or ghec %} -You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." +You can delete a package in the {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} user interface or using the REST API. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." + +{% data reusables.package_registry.no-graphql-to-delete-packages %} {% endif %} {% ifversion ghes %} @@ -112,7 +114,9 @@ You can delete a private or public package in the {% data variables.product.prod You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. + +For more information, see {% ifversion ghes or ghae %}"[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" and {% endif %}"[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." diff --git a/translations/zh-CN/content/packages/learn-github-packages/viewing-packages.md b/translations/zh-CN/content/packages/learn-github-packages/viewing-packages.md index 5b7d3a04e9..40686593f0 100644 --- a/translations/zh-CN/content/packages/learn-github-packages/viewing-packages.md +++ b/translations/zh-CN/content/packages/learn-github-packages/viewing-packages.md @@ -23,15 +23,15 @@ versions: 查看包的权限取决于几个因素。 默认情况下,您可以查看您发布的所有包。 -仓库作用域的包从拥有该包的仓库继承权限和可见性。 下面的注册表使用此类权限:{% ifversion not fpt or ghec %} +仓库作用域的包从拥有该包的仓库继承权限和可见性。 The registries below **only** use this type of permissions:{% ifversion not fpt or ghec %} - Docker 注册表 (`docker.pkg.github.com`){% endif %} -- npm 注册表 +{% ifversion packages-npm-v2 %}{% else %}- npm registry{% endif %} - RubyGems 注册表 - Apache Maven 注册表 - NuGet 注册表 {% ifversion fpt or ghec %} -容器注册表提供粒度权限和可见性设置,可针对个人用户或组织帐户拥有的每个包进行自定义。 您可以选择使用粒度权限或连接包到仓库并继承它的权限。 更多信息请参阅“[将仓库连接到包](/packages/learn-github-packages/connecting-a-repository-to-a-package)”。 +The {% data variables.product.prodname_ghcr_and_npm_registry %} offer you the option of granular permissions and visibility settings that can be customized for each package owned by a personal user or organization account. 您可以选择使用粒度权限或连接包到仓库并继承它的权限。 更多信息请参阅“[将仓库连接到包](/packages/learn-github-packages/connecting-a-repository-to-a-package)”。 {% endif %} 更多信息请参阅“[关于 GitHub Packages 的权限](/packages/learn-github-packages/about-permissions-for-github-packages)”{% ifversion fpt or ghec %} 或“[配置包的访问控制和可见性](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)”。{% endif %} diff --git a/translations/zh-CN/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/translations/zh-CN/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md index abf40d8435..6b3f8fc7cd 100644 --- a/translations/zh-CN/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md +++ b/translations/zh-CN/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -24,9 +24,9 @@ shortTitle: Publish & install with Actions You can extend the CI and CD capabilities of your repository by publishing or installing packages as part of your workflow. {% ifversion fpt or ghec %} -### Authenticating to the {% data variables.product.prodname_container_registry %} +### Authenticating to the {% data variables.product.prodname_ghcr_and_npm_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} {% endif %} @@ -40,7 +40,7 @@ You can reference the `GITHUB_TOKEN` in your workflow file using the {% raw %}`{ {% note %} -**Note:** Repository-owned packages include RubyGems, npm, Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle. {% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`.{% endif %} +**Note:** Some registries, such as RubyGems, {% ifversion packages-npm-v2 %}{% else %}npm, {% endif %}Apache Maven, NuGet, {% ifversion fpt or ghec %}and Gradle{% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`{% endif %}, only allow repository-owned packages. With {% data variables.product.prodname_ghcr_and_npm_registry_full %} you can choose to allow packages to be owned by a user, an organization, or linked to a repository. {% endnote %} @@ -49,11 +49,11 @@ When you enable GitHub Actions, GitHub installs a GitHub App on your repository. {% data variables.product.prodname_registry %} allows you to push and pull packages through the `GITHUB_TOKEN` available to a {% data variables.product.prodname_actions %} workflow. {% ifversion fpt or ghec %} -## About permissions and package access for {% data variables.product.prodname_container_registry %} +## About permissions and package access for {% data variables.product.prodname_ghcr_and_npm_registry %} -The {% data variables.product.prodname_container_registry %} (`ghcr.io`) allows users to create and administer containers as free-standing resources at the organization level. Containers can be owned by an organization or personal account and you can customize access to each of your containers separately from repository permissions. +The {% data variables.product.prodname_ghcr_and_npm_registry_full %} allows users to create and administer packages as free-standing resources at the organization level. Packages can be owned by an organization or personal account and you can customize access to each of your packages separately from repository permissions. -All workflows accessing the {% data variables.product.prodname_container_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." +All workflows accessing the {% data variables.product.prodname_ghcr_and_npm_registry %} should use the `GITHUB_TOKEN` instead of a personal access token. For more information about security best practices, see "[Security hardening for GitHub Actions](/actions/learn-github-actions/security-hardening-for-github-actions#using-secrets)." ## Default permissions and access settings for containers modified through workflows @@ -484,9 +484,9 @@ Installing packages hosted by {% data variables.product.prodname_registry %} thr {% data reusables.package_registry.actions-configuration %} {% ifversion fpt or ghec %} -## Upgrading a workflow that accesses `ghcr.io` +## Upgrading a workflow that accesses a registry using a PAT -The {% data variables.product.prodname_container_registry %} supports the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to `ghcr.io`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. +The {% data variables.product.prodname_ghcr_and_npm_registry %} support the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to the registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." @@ -504,9 +504,9 @@ Using the `GITHUB_TOKEN` instead of a PAT, which includes the `repo` scope, incr {% endnote %} 1. Optionally, using the "role" drop-down menu, select the default access level that you'd like the repository to have to your container image. ![Permission access levels to give to repositories](/assets/images/help/package-registry/repository-permission-options-for-package-access-through-actions.png) -1. Open your workflow file. On the line where you log in to `ghcr.io`, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. +1. Open your workflow file. On the line where you log in to the registry, replace your PAT with {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. -For example, this workflow publishes a Docker image using {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. +For example, this workflow publishes a Docker image to the {% data variables.product.prodname_container_registry %} and uses {% raw %}`${{ secrets.GITHUB_TOKEN }}`{% endraw %} to authenticate. ```yaml{:copy} name: Demo Push diff --git a/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md index 02708a404d..98ac905c0a 100644 --- a/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md +++ b/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -42,7 +42,9 @@ When installing or publishing a Docker image, the {% data variables.product.prod ## Authenticating to the {% data variables.product.prodname_container_registry %} -{% data reusables.package_registry.authenticate_with_pat_for_container_registry %} +{% ifversion fpt or ghec or ghes > 3.4 %} +To authenticate to the {% data variables.product.prodname_container_registry %} (`ghcr.io`) within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. {% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} +{% endif %} {% ifversion ghes %}Ensure that you replace `HOSTNAME` with {% data variables.product.product_location_enterprise %} hostname or IP address in the examples below.{% endif %} diff --git a/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 6714384e4d..8007cd2b6f 100644 --- a/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/translations/zh-CN/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -21,6 +21,8 @@ shortTitle: npm registry {% data reusables.package_registry.admins-can-configure-package-types %} +{% ifversion packages-npm-v2 %} +{% else %} ## Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. @@ -28,12 +30,17 @@ If you publish over 1,000 npm package versions to {% data variables.product.prod In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +{% endif %} ## Authenticating to {% data variables.product.prodname_registry %} {% data reusables.package_registry.authenticate-packages %} -{% data reusables.package_registry.authenticate-packages-github-token %} +{% ifversion packages-npm-v2 %} +{% data reusables.package_registry.authenticate_with_pat_for_v2_registry %} + +You can also choose to give access permissions to packages independently for {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_actions %}. For more information, see "[Ensuring Codespaces access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-codespaces-access-to-your-package) and [Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." +{% endif %} ### Authenticating with a personal access token @@ -94,12 +101,24 @@ $ npm login --scope=@OWNER --registry=https://HOSTNAME/_regist {% endnote %} -By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. You can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. +{% ifversion packages-npm-v2 %} +The {% data variables.product.prodname_registry %} registry stores npm packages within your organization or personal account, and allows you to associate a package with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. +{% endif %} + +By default, {% data variables.product.prodname_registry %} publishes a package in the {% data variables.product.prodname_dotcom %} repository you specify in the name field of the *package.json* file. For example, you would publish a package named `@my-org/test` to the `my-org/test` {% data variables.product.prodname_dotcom %} repository. If you're running [npm v8.5.3](https://github.com/npm/cli/releases/tag/v8.5.3) or later, you can add a summary for the package listing page by including a *README.md* file in your package directory. For more information, see "[Working with package.json](https://docs.npmjs.com/getting-started/using-a-package.json)" and "[How to create Node.js Modules](https://docs.npmjs.com/getting-started/creating-node-modules)" in the npm documentation. You can publish multiple packages to the same {% data variables.product.prodname_dotcom %} repository by including a `URL` field in the *package.json* file. For more information, see "[Publishing multiple packages to the same repository](#publishing-multiple-packages-to-the-same-repository)." +{% ifversion fpt or ghec %} +When a package is published, it isn't automatically linked to a repository. You can however choose to link your published package to a repository using the user interface or command line. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." +{% endif %} + You can set up the scope mapping for your project using either a local *.npmrc* file in the project or using the `publishConfig` option in the *package.json*. {% data variables.product.prodname_registry %} only supports scoped npm packages. Scoped packages have names with the format of `@owner/name`. Scoped packages always begin with an `@` symbol. You may need to update the name in your *package.json* to use the scoped name. For example, `"name": "@codertocat/hello-world-npm"`. +{% ifversion packages-npm-v2 %} +When you first publish a package, the default visibility is private. When a package is linked to repository, the package visibility is dependent on the repository's visibility. To change the visibility or set access permissions, see "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." +{% endif %} + {% data reusables.package_registry.viewing-packages %} ### Publishing a package using a local *.npmrc* file diff --git a/translations/zh-CN/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/translations/zh-CN/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index f059be99c2..011aa305ca 100644 --- a/translations/zh-CN/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/translations/zh-CN/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -46,7 +46,7 @@ To set up a `www` or custom subdomain, such as `www.example.com` or `blog.exampl {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} 4. 在 "Custom domain(自定义域)"下,输入自定义域,然后单击 **Save(保存)**。 If you are publishing your site from a branch, this will create a commit that adds a `CNAME` file to the root of your source branch. If you are publishing your site with a custom {% data variables.product.prodname_actions %} workflow , no `CNAME` file is created. For more information about your publishing source, see "[Configuring a publishing source for your GitHub Pages site](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." ![保存自定义域按钮](/assets/images/help/pages/save-custom-subdomain.png) -5. 导航到您的 DNS 提供程序并创建 `CNAME` 记录,使子域指向您站点的默认域。 例如,如果要对您的用户站点使用子域 `www.example.com`,您可以创建 `CNAME` 记录,使 `www.example.com` 指向 `.github.io`。 如果要对您的组织站点使用子域 `www.anotherexample.com`,您可以创建 `CNAME` 记录,使 `www.anotherexample.com` 指向 `.github.io`。 `CNAME` 记录应该始终指向 `.github.io` 或 `.github.io`,不包括仓库名称。 {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} +5. 导航到您的 DNS 提供程序并创建 `CNAME` 记录,使子域指向您站点的默认域。 例如,如果要对您的用户站点使用子域 `www.example.com`,您可以创建 `CNAME` 记录,使 `www.example.com` 指向 `.github.io`。 如果要对您的组织站点使用子域 `another.example.com`,您可以创建 `CNAME` 记录,使 `another.example.com` 指向 `.github.io`。 `CNAME` 记录应该始终指向 `.github.io` 或 `.github.io`,不包括仓库名称。 {% data reusables.pages.contact-dns-provider %} {% data reusables.pages.default-domain-information %} {% indented_data_reference reusables.pages.wildcard-dns-warning spaces=3 %} {% data reusables.command_line.open_the_multi_os_terminal %} diff --git a/translations/zh-CN/content/rest/deployments/deployments.md b/translations/zh-CN/content/rest/deployments/deployments.md index d129c2157d..2672ba8287 100644 --- a/translations/zh-CN/content/rest/deployments/deployments.md +++ b/translations/zh-CN/content/rest/deployments/deployments.md @@ -19,7 +19,7 @@ miniTocMaxHeadingLevel: 3 部署状态还可以包含可选的 `description` 和 `log_url`,强烈建议使用它们,因为它们使部署状态更有用。 `log_url` 是部署输出的完整 URL,`description` 是关于部署过程中所发生情况的高级摘要。 -在创建新的部署和部署状态时,GitHub 将分发 `deployment` 和 `deployment_status` 事件。 这些事件允许第三方集成接收对部署请求的响应,并在取得进展时更新部署的状态。 +在创建新的部署和部署状态时,GitHub 将分发 `deployment` 和 `deployment_status` 事件。 These events allow third-party integrations to receive and respond to deployment requests, and update the status of a deployment as progress is made. 下面是一个说明这些交互的工作方式的简单序列图。 diff --git a/translations/zh-CN/content/rest/guides/getting-started-with-the-checks-api.md b/translations/zh-CN/content/rest/guides/getting-started-with-the-checks-api.md index 2c60bf90f8..fa8cc66f45 100644 --- a/translations/zh-CN/content/rest/guides/getting-started-with-the-checks-api.md +++ b/translations/zh-CN/content/rest/guides/getting-started-with-the-checks-api.md @@ -1,6 +1,6 @@ --- -title: Getting started with the Checks API -intro: 'The Check Runs API enables you to build GitHub Apps that run powerful checks against code changes in a repository. You can create apps that perform continuous integration, code linting, or code scanning services and provide detailed feedback on commits.' +title: 检查 API 入门指南 +intro: 检查运行 API 使您能够构建 GitHub 应用程序,以针对仓库中的代码更改运行强大的检查。 您可以创建应用程序以执行持续集成 、代码分析或代码扫描服务,并提供有关提交的详细反馈。 versions: fpt: '*' ghes: '*' @@ -8,58 +8,58 @@ versions: ghec: '*' topics: - API -shortTitle: Get started - Checks API +shortTitle: 开始 - 检查 API --- -## Overview +## 概览 -Rather than binary pass/fail build statuses, GitHub Apps can report rich statuses, annotate lines of code with detailed information, and re-run tests. The Checks API functionality is available exclusively to your GitHub Apps. +GitHub 应用程序可以报告丰富的状态信息、提供详细的代码行注释以及重新运行测试,而不是提供二进制的通过/失败构建状态。 Checks API 功能专用于您的 GitHub 应用程序。 -For an example of how to use the Checks API with a {% data variables.product.prodname_github_app %}, see "[Creating CI tests with the Checks API](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/)." +关于如何将检查 API 用于 {% data variables.product.prodname_github_app %} 的示例,请参阅“[使用检查 API 创建 CI 测试](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/)”。 -## About check suites +## 关于检查套件 -When someone pushes code to a repository, GitHub creates a check suite for the last commit. A check suite is a collection of the [check runs](/rest/reference/checks#check-runs) created by a single GitHub App for a specific commit. Check suites summarize the status and conclusion of the check runs that a suite includes. +当有人向仓库推送代码时,GitHub 会为最新的提交创建一个检查套件。 检查套件是单个 GitHub 应用程序为特定提交而创建的[检查运行](/rest/reference/checks#check-runs)的集合。 检查套件汇总了套件所含检查运行的状态和结论。 -![Check suites workflow](/assets/images/check_suites.png) +![检查套件工作流程](/assets/images/check_suites.png) -The check suite reports the highest priority check run `conclusion` in the check suite's `conclusion`. For example, if three check runs have conclusions of `timed_out`, `success`, and `neutral` the check suite conclusion will be `timed_out`. +检查套件在其 `conclusion` 中报告优先级最高的检查运行 `conclusion` 。 例如,如果三个检查运行的结论分别为 `timed_out`、`success` 和 `neutral`,则检查套件的结论将为 `timed_out`。 -By default, GitHub creates a check suite automatically when code is pushed to the repository. This default flow sends the `check_suite` event (with `requested` action) to all GitHub App's that have the `checks:write` permission. When your GitHub App receives the `check_suite` event, it can create new check runs for the latest commit. GitHub automatically adds new check runs to the correct [check suite](/rest/reference/checks#check-suites) based on the check run's repository and SHA. +默认情况下,当代码被推送到仓库时,GitHub 会自动创建一个检查套件。 此默认流程会将 `check_suite` 事件(使用 `requested` 操作)发送到具有 `checks:write` 权限的所有 GitHub 应用程序。 当您的 GitHub 应用程序收到 `check_suite` 事件时,它可以为最新的提交创建新的检查运行。 GitHub 根据检查运行的仓库和 SHA,自动将新的检查运行添加到适当的[检查套件](/rest/reference/checks#check-suites)中。 -If you don't want to use the default automatic flow, you can control when you create check suites. To change the default settings for the creation of check suites, use the [Update repository preferences for check suites](/rest/reference/checks#update-repository-preferences-for-check-suites) endpoint. All changes to the automatic flow settings are recorded in the audit log for the repository. If you have disabled the automatic flow, you can create a check suite using the [Create a check suite](/rest/reference/checks#create-a-check-suite) endpoint. You should continue to use the [Create a check run](/rest/reference/checks#create-a-check-run) endpoint to provide feedback on a commit. +如果您不想使用默认的自动流程,您可以控制何时创建检查套件。 要更改用于创建检查套件的默认设置,请使用[更新检查套件的仓库首选项](/rest/reference/checks#update-repository-preferences-for-check-suites)端点。 对自动流程设置的所有更改都被记录在仓库的审核日志中。 如果您禁用了自动流程,您可以使用[创建检查套件](/rest/reference/checks#create-a-check-suite)端点来创建一个检查套件。 您应该继续使用[创建检查运行](/rest/reference/checks#create-a-check-run)端点来提供对提交的反馈。 {% data reusables.apps.checks-availability %} -To use the check suites API, the GitHub App must have the `checks:write` permission and can also subscribe to the [check_suite](/webhooks/event-payloads/#check_suite) webhook. +要使用检查套件 API,GitHub 应用程序必须具有 `checks:write` 权限并且可以订阅 [check_suite](/webhooks/event-payloads/#check_suite) web 挂钩。 {% data reusables.shortdesc.authenticating_github_app %} -## About check runs +## 关于检查运行 -A check run is an individual test that is part of a check suite. Each run includes a status and conclusion. +检查运行是检查套件中的单个测试。 每个运行都包含状态和结论。 -![Check runs workflow](/assets/images/check_runs.png) +![检查运行工作流程](/assets/images/check_runs.png) -If a check run is in a incomplete state for more than 14 days, then the check run's `conclusion` becomes `stale` and appears on {% data variables.product.prodname_dotcom %} as stale with {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. Only {% data variables.product.prodname_dotcom %} can mark check runs as `stale`. For more information about possible conclusions of a check run, see the [`conclusion` parameter](/rest/reference/checks#create-a-check-run--parameters). +If a check run is in an incomplete state for more than 14 days, then the check run's `conclusion` becomes `stale` and appears on {% data variables.product.prodname_dotcom %} as stale with {% octicon "issue-reopened" aria-label="The issue-reopened icon" %}. 只有 {% data variables.product.prodname_dotcom %} 可以将检查运行标记为 `stale`。 有关检查运行之可能结论的更多信息,请参阅 [`conclusion` 参数](/rest/reference/checks#create-a-check-run--parameters)。 -As soon as you receive the [`check_suite`](/webhooks/event-payloads/#check_suite) webhook, you can create the check run, even if the check is not complete. You can update the `status` of the check run as it completes with the values `queued`, `in_progress`, or `completed`, and you can update the `output` as more details become available. A check run can contain timestamps, a link to more details on your external site, detailed annotations for specific lines of code, and information about the analysis performed. +一旦收到 [`check_suite`](/webhooks/event-payloads/#check_suite) web 挂钩,您即可创建检查运行,即使检查尚未完成。 您可以在检查运行完成时使用值 `queued`、`in_progress` 或 `completed` 来更新其 `status`, 并且可以在更多详细信息可用时更新 `output`。 检查运行可以包含时间戳、指向外部站点上更多详细信息的链接、特定代码行的详细注释以及有关所执行分析的信息。 -![Check run annotation](/assets/images/check_run_annotations.png) +![检查运行注释](/assets/images/check_run_annotations.png) -A check can also be manually re-run in the GitHub UI. See "[About status checks](/articles/about-status-checks#checks)" for more details. When this occurs, the GitHub App that created the check run will receive the [`check_run`](/webhooks/event-payloads/#check_run) webhook requesting a new check run. If you create a check run without creating a check suite, GitHub creates the check suite for you automatically. +还可以在 GitHub UI 中手动重新运行检查。 更多信息请参阅“[关于状态检查](/articles/about-status-checks#checks)”。 发生这种情况时,创建检查运行的 GitHub 应用程序将收到请求新检查运行的 [`check_run`](/webhooks/event-payloads/#check_run) web 挂钩。 如果您创建检查运行时没有创建检查套件,GitHub 将自动为您创建检查套件。 {% data reusables.apps.checks-availability %} -To use the Check Runs API, the GitHub App must have the `checks:write` permission and can also subscribe to the [check_run](/webhooks/event-payloads#check_run) webhook. +要使用检查运行 API,GitHub 应用程序必须具有 `checks:write` 权限并且可以订阅 [ccheck_run](/webhooks/event-payloads#check_run) web 挂钩。 -## Check runs and requested actions +## 检查运行和请求的操作 -When you set up a check run with requested actions (not to be confused with {% data variables.product.prodname_actions %}), you can display a button in the pull request view on {% data variables.product.prodname_dotcom %} that allows people to request your {% data variables.product.prodname_github_app %} to perform additional tasks. +在设置带有请求操作(不要与 {% data variables.product.prodname_actions %} 混淆)的检查运行时,您可以在 {% data variables.product.prodname_dotcom %} 上的拉取请求视图中显示一个按钮,以允许用户请求您的 {% data variables.product.prodname_github_app %} 执行额外任务。 -For example, a code linting app could use requested actions to display a button in a pull request to automatically fix detected syntax errors. +例如,代码分析应用程序可以使用请求的操作在拉取请求中显示一个按钮,以自动修复检测到的语法错误。 -To create a button that can request additional actions from your app, use the [`actions` object](/rest/reference/checks#create-a-check-run--parameters) when you [Create a check run](/rest/reference/checks/#create-a-check-run). For example, the `actions` object below displays a button in a pull request with the label "Fix this." The button appears after the check run completes. +要创建可从您的程序请求额外操作的按钮,请在[创建检查运行](/rest/reference/checks/#create-a-check-run)时使用 [`actions` 对象](/rest/reference/checks#create-a-check-run--parameters)。 例如,下面的 `actions` 对象在拉取请求中显示一个按钮,标签为“Fix this(修复此问题)”。 该按钮在检查运行完成后显示。 ```json "actions": [{ @@ -69,14 +69,14 @@ To create a button that can request additional actions from your app, use the [` }] ``` - ![Check run requested action button](/assets/images/github-apps/github_apps_checks_fix_this_button.png) + ![检查运行请求操作按钮](/assets/images/github-apps/github_apps_checks_fix_this_button.png) -When a user clicks the button, {% data variables.product.prodname_dotcom %} sends the [`check_run.requested_action` webhook](/webhooks/event-payloads/#check_run) to your app. When your app receives a `check_run.requested_action` webhook event, it can look for the `requested_action.identifier` key in the webhook payload to determine which button was clicked and perform the requested task. +当用户单击该按钮时,{% data variables.product.prodname_dotcom %} 会将 [`check_run.requested_action` web 挂钩](/webhooks/event-payloads/#check_run)发送到您的应用程序。 当您的应用程序收到 `check_run.requested_action` web 挂钩事件时,它可以在 web 挂钩有效负载中查找 `requested_action.identifier` 键,以确定单击了哪个按钮,并执行请求的任务。 -For a detailed example of how to set up requested actions with the Checks API, see "[Creating CI tests with the Checks API](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/#part-2-creating-the-octo-rubocop-ci-test)." +关于如何使用检查 API 设置请求操作的详细示例,请参阅“[使用检查 API 创建 CI 测试](/apps/quickstart-guides/creating-ci-tests-with-the-checks-api/#part-2-creating-the-octo-rubocop-ci-test)”。 {% ifversion fpt or ghec %} -## Retention of checks data +## 检查数据的保留 {% data reusables.pull_requests.retention-checks-data %} {% endif %} diff --git a/translations/zh-CN/content/rest/guides/getting-started-with-the-rest-api.md b/translations/zh-CN/content/rest/guides/getting-started-with-the-rest-api.md index 43842732b4..5a497e6737 100644 --- a/translations/zh-CN/content/rest/guides/getting-started-with-the-rest-api.md +++ b/translations/zh-CN/content/rest/guides/getting-started-with-the-rest-api.md @@ -1,9 +1,6 @@ --- title: REST API 入门指南 -intro: 从身份验证和一些端点示例开始,了解使用 REST API 的基础。 -redirect_from: - - /guides/getting-started - - /v3/guides/getting-started +intro: 'Learn how to use the {% data variables.product.prodname_dotcom %} REST API.' versions: fpt: '*' ghes: '*' @@ -11,418 +8,754 @@ versions: ghec: '*' topics: - API -shortTitle: 开始 - REST API +shortTitle: Using the API +miniTocMaxHeadingLevel: 3 --- +## About the {% data variables.product.prodname_dotcom %} REST API -让我们逐步了解在处理一些日常用例时涉及的核心 API 概念。 +This article describes how to use the {% data variables.product.prodname_dotcom %} REST API using {% data variables.product.prodname_cli %}, JavaScript, or cURL. For a quickstart guide, see "[Quickstart for GitHub REST API](/rest/quickstart)." -{% data reusables.rest-api.dotcom-only-guide-note %} +When you make a request to the REST API, you will specify an HTTP method and a path. Additionally, you might also specify request headers and path, query, or body parameters. The API will return the response status code, response headers, and potentially a response body. -## 概览 +The REST API reference documentation describes the HTTP method, path, and parameters for every operation. It also displays example requests and responses for each operation. For more information, see the [REST reference documentation](/rest). -大多数应用程序将使用您选择的语言 中现有的 [wrapper 库][wrappers],但您必须先熟悉基础 API HTTP 方法。 +## Making a request -没有比使用 [cURL][curl] 更容易的入手方式了。{% ifversion fpt or ghec %} 如果您使用其他客户的,请注意,您需要在请求中发送有效的 [用户代理标头](/rest/overview/resources-in-the-rest-api#user-agent-required)。{% endif %} +To make a request, first find the HTTP method and the path for the operation that you want to use. For example, the "Get Octocat" operation uses the `GET` method and the `/octocat` path. For the full reference documentation for this operation, see "[Get Octocat](/rest/meta#get-octocat)." -### Hello World +{% cli %} -让我们先测试设置。 打开命令提示符并输入以下命令: +{% note %} + +**Note**: You must install {% data variables.product.prodname_cli %} in order to use the commands in the {% data variables.product.prodname_cli %} examples. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). + +{% endnote %} + +If you are not already authenticated to {% data variables.product.prodname_cli %}, you must use the `gh auth login` subcommand to authenticate before making any requests. For more information, see "[Authenticating](#authenticating)." + +To make a request using {% data variables.product.prodname_cli %}, use the `api` subcommand along with the path. Use the `--method` or `-X` flag to specify the method. ```shell -$ curl https://api.github.com/zen - -> Keep it logically awesome. +gh api /octocat --method GET ``` -响应将是我们设计理念中的随机选择。 +{% endcli %} -Next, let's `GET` [Chris Wanstrath's][defunkt github] [GitHub profile][users api]: +{% javascript %} + +{% note %} + +**Note**: You must install and import `octokit` in order to use the Octokit.js library used in the JavaScript examples. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +{% endnote %} + +To make a request using JavaScript, you can use Octokit.js. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +First, create an instance of `Octokit`.{% ifversion ghes or ghae %} Set the base URL to `{% data variables.product.api_url_code %}`. Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}", +{% endif %}}); +``` + +Then, use the `request` method to make requests. Pass the HTTP method and path as the first argument. + +```javascript +await octokit.request("GET /octocat", {}); +``` + +{% endjavascript %} + +{% curl %} + +Prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `{% data variables.product.api_url_code %}`, to the path to get the full URL: `{% data variables.product.api_url_code %}/octocat`.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +Use the `curl` command in your command line. Use the `--request` or `-X` flag followed by the HTTP method. Use the `--url` flag followed by the full URL. ```shell -# GET /users/defunkt -$ curl https://api.github.com/users/defunkt - -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> ... -> } +curl --request GET \ +--url "https://api.github.com/octocat" ``` -Mmmmm, tastes like [JSON][json]. 我们来添加 `-i` 标志以包含标头: +{% note %} + +**Note**: If you get a message similar to "command not found: curl", you may need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). + +{% endnote %} + +{% endcurl %} + +Continue reading to learn how to authenticate, send parameters, and use the response. + +## Authenticating + +Many operations require authentication or return additional information if you are authenticated. Additionally, you can make more requests per hour when you are authenticated.{% cli %} Although some REST API operations are accessible without authentication, you must authenticate to {% data variables.product.prodname_cli %} in order to use the `api` subcommand.{% endcli %} + +### 关于令牌 + +You can authenticate your request by adding a token. + +If you want to use the {% data variables.product.company_short %} REST API for personal use, you can create a personal access token (PAT). The REST API operations used in this article require `repo` scope for personal access tokens. Other operations may require different scopes. 有关创建个人访问令牌的更多信息,请参阅“[创建个人访问令牌](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)”。 + +If you want to use the API on behalf of an organization or another user, {% data variables.product.company_short %} recommends that you use a {% data variables.product.prodname_github_app %}. If an operation is available to {% data variables.product.prodname_github_apps %}, the REST reference documentation for that operation will say "Works with GitHub Apps." The REST API operations used in this article require `issues` read and write permissions for {% data variables.product.prodname_github_apps %}. Other operations may require different permissions. For more information, see "[Creating a GitHub App](/developers/apps/building-github-apps/creating-a-github-app)", "[Authenticating with GitHub Apps](/developers/apps/building-github-apps/authenticating-with-github-apps), and "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + +If you want to use the API in a {% data variables.product.prodname_actions %} workflow, {% data variables.product.company_short %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. You can grant permissions to the `GITHUB_TOKEN` with the `permissions` key. 更多信息请参阅“[自动令牌身份验证](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token)”。 + +### Authentication example + +{% cli %} + +With {% data variables.product.prodname_cli %}, you don't need to create an access token in advance. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}: ```shell -$ curl -i https://api.github.com/users/defunkt - -> HTTP/2 200 -> server: GitHub.com -> date: Thu, 08 Jul 2021 07:04:08 GMT -> content-type: application/json; charset=utf-8 -> cache-control: public, max-age=60, s-maxage=60 -> vary: Accept, Accept-Encoding, Accept, X-Requested-With -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" -> last-modified: Fri, 01 Nov 2019 21:56:00 GMT -> x-github-media-type: github.v3; format=json -> access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset -> access-control-allow-origin: * -> strict-transport-security: max-age=31536000; includeSubdomains; preload -> x-frame-options: deny -> x-content-type-options: nosniff -> x-xss-protection: 0 -> referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin -> content-security-policy: default-src 'none' -> x-ratelimit-limit: 60 -> x-ratelimit-remaining: 53 -> x-ratelimit-reset: 1625731053 -> x-ratelimit-resource: core -> x-ratelimit-used: 7 -> accept-ranges: bytes -> content-length: 1305 -> x-github-request-id: 9F60:7019:ACC5CD5:B03C931:60E6A368 -> -> { -> "login": "defunkt", -> "id": 2, -> "node_id": "MDQ6VXNlcjI=", -> "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4", -> "gravatar_id": "", -> "url": "https://api.github.com/users/defunkt", -> "html_url": "https://github.com/defunkt", -> -> ... -> } +gh auth login ``` -响应标头中有一些有趣的地方。 果然,`Content-Type` 为 `application/json`。 +You can use the `--scopes` flag to specify what scopes you want. If you want to authenticate with a token that you created, you can use the `--with-token` flag. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). -任何以 `X-` 开头的标头都是自定义标头,不包含在 HTTP 规范中。 例如,请注意 `X-RateLimit-Limit` 和 `X-RateLimit-Remaining` 标头。 This pair of headers indicate [how many requests a client can make][rate-limiting] in a rolling time period (typically an hour) and how many of those requests the client has already spent. +{% endcli %} -## 身份验证 - -未经身份验证的客户端每小时可以发出 60 个请求。 要每小时发出更多请求,我们需要进行_身份验证_。 In fact, doing anything interesting with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API requires [authentication][authentication]. - -### 使用个人访问令牌 - -使用 {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API 进行身份验证的最简单和最佳的方式是[通过 OAuth 令牌](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens)使用基本身份验证。 OAuth tokens include [personal access tokens][personal token]. - -使用 `-u` 标志设置您的用户名: - -```shell -$ curl -i -u your_username {% data variables.product.api_url_pre %}/users/octocat - -``` - -出现提示时,您可以输入 OAuth 令牌,但我们建议您为它设置一个变量: - -您可以使用 `-u "your_username:$token"` 并为 `token` 设置一个变量,以避免您的令牌留在 shell 历史记录中,这种情况应尽量避免。 - -```shell -$ curl -i -u your_username:$token {% data variables.product.api_url_pre %}/users/octocat - -``` - -进行身份验证时,您应该会看到您的速率限制达到每小时 5,000 个请求,如 `X-RateLimit-Limit` 标头中所示。 除了每小时提供更多调用次数之外,身份验证还使您能够使用 API 读取和写入私有信息。 - -You can easily [create a **personal access token**][personal token] using your [Personal access tokens settings page][tokens settings]: +{% javascript %} {% warning %} -为了帮助保护您的信息安全,我们强烈建议为您的个人访问令牌设置一个到期日。 +**Warning**: Treat your access token like a password. + +To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. 更多信息请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +{% ifversion ghec or fpt %}You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. {% endwarning %} -{% ifversion fpt or ghes or ghec %} -![个人令牌选择](/assets/images/personal_token.png) +To authenticate with the Octokit.js library, you can pass your token when you create an instance of `Octokit`. Replace `YOUR-TOKEN` with your token.{% ifversion ghes or ghae %} Replace `[hostname]` with the name of {% data variables.product.product_location %}.{% endif %} + +```javascript +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: 'YOUR-TOKEN', +}); +``` + +{% endjavascript %} + +{% curl %} + +{% warning %} + +**Warning**: Treat your access token like a password. + +To help keep your account secure, you can use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + +{% ifversion ghec or fpt %}You can also store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + +If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + +{% endwarning %} + +With cURL, you will send an `Authorization` header with your token. Replace `YOUR-TOKEN` with your token: + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% note %} + +**Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) will only work with `Authorization: Bearer`. + +{% endnote %} + +{% endcurl %} + +### Authentication example for {% data variables.product.prodname_actions %} + +{% cli %} + +You can also use the `run` keyword to execute {% data variables.product.prodname_cli %} commands in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +Instead of using the `gh auth login` command, pass your token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api /octocat +``` + +{% endcli %} + +{% javascript %} + +You can also use the `run` keyword to execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + node .github/actions-scripts/use-the-api.mjs +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit"; + +const octokit = new Octokit({ {% ifversion ghes or ghae %} + baseUrl: "{% data variables.product.api_url_code %}",{% endif %} + auth: process.env.TOKEN, +}); + +await octokit.request("GET /octocat", {}); +``` + +Instead of storing your script in a separate file and executing the script from your workflow, you can use the `actions/github-script` action to run a script. For more information, see the [actions/github-script README](https://github.com/actions/github-script). + +```yaml +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: {} + steps: + - uses: {% data reusables.actions.action-github-script %} + with: + github-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + script: | + await github.request('GET /octocat', {}) +``` + +{% endjavascript %} + +{% curl %} + +You can also use the `run` keyword to execute cURL commands in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you authenticate with the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +```yaml +jobs: + use_api: + runs-on: ubuntu-latest + permissions: {} + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/octocat" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +{% endcurl %} + +## Using headers + +Most operations specify that you should pass an `Accept` header with a value of `application/vnd.github.v3+json`. Other operations may specify that you should send a different `Accept` header or additional headers. + +{% cli %} + +To send a header with {% data variables.product.prodname_cli %}, use the `--header` or `-H` flag followed by the header in `key: value` format. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /octocat +``` + +{% endcli %} + +{% javascript %} + +The Octokit.js library automatically passes the `Accept: application/vnd.github.v3+json` header. To pass additional headers or a different `Accept` header, add a `headers` property to the object that is passed as a second argument to the `request` method. The value of the `headers` property is an object with the header names as keys and header values as values. For example, to send a `content-type` header with a value of `text/plain`: + +```javascript +await octokit.request("GET /octocat", { + headers: { + "content-type": "text/plain", + }, +}); +``` + +{% endjavascript %} + +{% curl %} + +To send a header with cURL, use the `--header` or `-H` flag followed by the header in `key: value` format. + +```shell +curl --request GET \ +--url "https://api.github.com/octocat" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" +``` + +{% endcurl %} + +## Using path parameters + +Path parameters modify the operation path. For example, the "List repository issues" path is `/repos/{owner}/{repo}/issues`. The curly brackets `{}` denote path parameters that you need to specify. In this case, you must specify the repository owner and name. For the reference documentation for this operation, see "[List repository issues](/rest/issues/issues#list-repository-issues)." + +{% cli %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** In order for this command to work for {% data variables.product.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. Otherwise, rerun the `gh auth login` command to authenticate to {% data variables.product.prodname_dotcom_the_website %} instead of {% data variables.product.product_location %}. + +{% endnote %} {% endif %} -{% ifversion ghae %} -![个人令牌选择](/assets/images/help/personal_token_ghae.png) +To get issues from the `octocat/Spoon-Knife` repository, replace `{owner}` with `octocat` and `{repo}` with `Spoon-Knife`. + +```shell +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +{% ifversion ghes or ghae %} +{% note %} + +**Note:** In order for this example to work for {% data variables.product.product_location %}, replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. Otherwise, create a new `Octokit` instance and do not specify `baseURL`. + +{% endnote %} {% endif %} -使用到期的个人访问令牌的 API 请求将通过 `GitHub-Authentication-Token-Expiration` 标头返回该令牌的到期日期。 当令牌接近其过期日期时,您可以使用脚本中的标头来提供警告信息。 +When you make a request with Octokit.js, all parameters, including path parameters, are passed in an object as the second argument to the `request` method. To get issues from the `octocat/Spoon-Knife` repository, specify `owner` as `octocat` and `repo` as `Spoon-Knife`. -### 获取自己的用户个人资料 - -在正确验证身份后,您可以利用与 {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %} 上的帐户相关的权限。 。 例如,尝试获取 - -```shell -$ curl -i -u your_username:your_token {% data variables.product.api_url_pre %}/user - -> { -> ... -> "plan": { -> "space": 2516582, -> "collaborators": 10, -> "private_repos": 20, -> "name": "medium" -> } -> ... -> } +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife" +}); ``` -This time, in addition to the same set of public information we retrieved for [@defunkt][defunkt github] earlier, you should also see the non-public information for your user profile. 例如,您将在响应中看到 `plan` 对象,它提供有关帐户的 {% data variables.product.product_name %} 计划的详细信息。 +{% endjavascript %} -### 对应用程序使用 OAuth 令牌 +{% curl %} -需要代表其他用户使用 API 读取或写入私有信息的应用程序应使用 [OAuth][oauth]。 +To get issues from the `octocat/Spoon-Knife` repository, replace `{owner}` with `octocat` and `{repo}` with `Spoon-Knife`. To build the full path, prepend the base URL for the {% data variables.product.prodname_dotcom %} REST API, `https://api.github.com`: `https://api.github.com/repos/octocat/Spoon-Knife/issues`. -OAuth 使用_令牌_。 令牌具有两大特点: +{% ifversion ghes or ghae %} +{% note %} -* **可撤销访问权限**:用户可以随时撤销对第三方应用程序的授权 -* **有限访问权限**:用户可以在授权第三方应用程序前审查令牌将提供的具体访问权限。 +**Note:** If you want to use {% data variables.product.product_location %} instead of {% data variables.product.prodname_dotcom_the_website %}, use `{% data variables.product.api_url_code %}` instead of `https://api.github.com` and replace `[hostname]` with the name of {% data variables.product.product_location %}. Replace `octocat/Spoon-Knife` with a repository owned by {% data variables.product.product_location %}. -令牌应通过 [web 工作流程][webflow]进行创建。 应用程序将用户发送到 {% data variables.product.product_name %} 进行登录。 {% data variables.product.product_name %} 随后显示一个对话框,指示应用程序的名称以及应用程序经用户授权后具有的权限级别。 经用户授权访问后,{% data variables.product.product_name %} 将用户重定向到应用程序: - -![GitHub 的 OAuth 提示](/assets/images/oauth_prompt.png) - -**像对待密码一样对待 OAuth 令牌!**不要与其他用户共享它们,也不要将其存储在不安全的地方。 这些示例中的令牌是假的,并且更改了名称以免波及无辜。 - -Now that we've got the hang of making authenticated calls, let's move along to the [Repositories API][repos-api]. - -## 仓库 - -几乎任何有意义的 {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API 使用都会涉及某种级别的仓库信息。 信息。 We can [`GET` repository details][get repo] in the same way we fetched user details earlier: +{% endnote %} +{% endif %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/twbs/bootstrap +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -In the same way, we can [view repositories for the authenticated user][user repos api]: +{% endcurl %} + +The operation returns a list of issues and data about each issue. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using query parameters + +Query parameters allow you to control what data is returned for a request. For example, a query parameter may let you specify how many items are returned when the response is paginated. + +By default, the "List repository issues" operation returns thirty issues, sorted in descending order by the date they were created. You can use the `per_page` parameter to return two issues instead of 30. You can use the `sort` parameter to sort the issues by the date they were last updated instead of by the date they were created. You can use the `direction` parameter to sort the results in ascending order instead of descending order. + +{% cli %} + +For {% data variables.product.prodname_cli %}, use the `-F` flag to pass a parameter that is a number, Boolean, or null. Use `-f` to pass string parameters. + +{% note %} + +**Note**: {% data variables.product.prodname_cli %} does not currently accept parameters that are arrays. For more information, see [this issue](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 -f sort=updated -f direction=asc ``` -Or, we can [list repositories for another user][other user repos api]: +{% endcli %} + +{% javascript %} + +When you make a request with Octokit.js, all parameters, including query parameters, are passed in an object as the second argument to the `request` method. + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + sort: "updated", + direction: "asc", +}); +``` + +{% endjavascript %} + +{% curl %} + +For cURL, add a `?` to the end of the path, then append your query parameter name and value in the form `parameter_name=value`. Separate multiple query parameters with `&`. ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/octocat/repos +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2&sort=updated&direction=asc" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -Or, we can [list repositories for an organization][org repos api]: +{% endcurl %} + +The operation returns a list of issues and data about each issue. For more information about using the response, see the "[Using the response](#using-the-response)" section. + +## Using body parameters + +Body parameters allow you to pass additional data to the API. For example, the "Create an issue" operation requires you to specify a title for the new issue. It also lets you specify other information, such as text to put in the issue body. For the full reference documentation for this operation, see "[Create an issue](/rest/issues/issues#create-an-issue)." + +The "Create an issue" operation uses the same path as the "List repository issues" operation in the examples above, but it uses a `POST` method instead of a `GET` method. + +{% cli %} + +For {% data variables.product.prodname_cli %}, use the `-F` flag to pass a parameter that is a number, Boolean, or null. Use `-f` to pass string parameters. + +{% note %} + +**Note**: {% data variables.product.prodname_cli %} does not currently accept parameters that are arrays. For more information, see [this issue](https://github.com/cli/cli/issues/1484). + +{% endnote %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method POST /repos/octocat/Spoon-Knife/issues -f title="Created with the REST API" -f body="This is a test issue created by the REST API" ``` -从这些调用返回的信息将取决于我们进行身份验证时令牌所具有的作用域: +{% endcli %} -{%- ifversion fpt or ghec or ghes %} -* A token with `public_repo` [scope][scopes] returns a response that includes all public repositories we have access to see on {% data variables.product.product_location %}. -{%- endif %} -* A token with `repo` [scope][scopes] returns a response that includes all {% ifversion fpt %}public or private{% elsif ghec or ghes %}public, private, or internal{% elsif ghae %}private or internal{% endif %} repositories we have access to see on {% data variables.product.product_location %}. +{% javascript %} -As the [docs][repos-api] indicate, these methods take a `type` parameter that can filter the repositories returned based on what type of access the user has for the repository. 这样,我们可以只获取直接拥有的仓库、组织仓库或用户通过团队进行协作的仓库。 +When you make a request with Octokit.js, all parameters, including body parameters, are passed in an object as the second argument to the `request` method. + +```javascript +await octokit.request("POST /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + title: "Created with the REST API", + body: "This is a test issue created by the REST API", +}); +``` + +{% endjavascript %} + +{% curl %} + +For cURL, use the `--data` flag to pass the body parameters in a JSON object. ```shell -$ curl -i "{% data variables.product.api_url_pre %}/users/octocat/repos?type=owner" +curl --request POST \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--data '{ + "title": "Created with the REST API", + "body": "This is a test issue created by the REST API" +}' ``` -在此示例中,我们只获取 octocat 拥有的仓库,而没有获取她协作的仓库。 请注意上面的引用 URL。 根据您的 shell 设置,cURL 有时需要一个引用 URL,否则它会忽略查询字符串。 +{% endcurl %} -### 创建仓库 +The operation creates an issue and returns data about the new issue. In the response, find the `html_url` of your issue and navigate to your issue in the browser. For more information about using the response, see the "[Using the response](#using-the-response)" section. -获取现有仓库的信息是一种常见的用例,但 -{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API 也支持创建新的仓库。 To [create a repository][create repo], -我们需要 `POST` 一些包含详细信息和配置选项的JSON。 +## Using the response + +### About the response code and headers + +Every request will return an HTTP status code that indicates the success of the response. For more information about response codes, see [the MDN HTTP response status code documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status). + +Additionally, the response will include headers that give more details about the response. Headers that start with `X-` or `x-` are custom to {% data variables.product.company_short %}. For example, the `x-ratelimit-remaining` and `x-ratelimit-reset` headers tell you how many requests you can make in a time period. + +{% cli %} + +To view the status code and headers, use the `--include` or `--i` flag when you send your request. + +For example, this request: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - -d '{ - "name": "blog", - "auto_init": true, - "private": true, - "gitignore_template": "nanoc" - }' \ - {% data variables.product.api_url_pre %}/user/repos +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 --include ``` -In this minimal example, we create a new private repository for our blog (to be served on [GitHub Pages][pages], perhaps). 虽然博客 {% ifversion not ghae %}将是公开的{% else %}可供所有企业成员访问{% endif %},但我们已经将仓库设置为私有。 In this single step, we'll also initialize it with a README and a [nanoc][nanoc]-flavored [.gitignore template][gitignore templates]. - -生成的仓库可在 `https://github.com//blog` 上找到。 要在您拥有的组织下创建仓库,只需将 API 方法从 `/user/repos` 更改为 `/orgs//repos`。 - -接下来,我们将获取新创建的仓库: +returns the response code and headers like: ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/pengwynn/blog - -> HTTP/2 404 - -> { -> "message": "Not Found" -> } +HTTP/2.0 200 OK +Access-Control-Allow-Origin: * +Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +Cache-Control: private, max-age=60, s-maxage=60 +Content-Security-Policy: default-src 'none' +Content-Type: application/json; charset=utf-8 +Date: Thu, 04 Aug 2022 19:56:41 GMT +Etag: W/"a63dfbcfdb73621e9d2e89551edcf9856731ced534bd7f1e114a5da1f5f73418" +Link: ; rel="next", ; rel="last" +Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin +Server: GitHub.com +Strict-Transport-Security: max-age=31536000; includeSubdomains; preload +Vary: Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With +X-Accepted-Oauth-Scopes: repo +X-Content-Type-Options: nosniff +X-Frame-Options: deny +X-Github-Api-Version-Selected: 2022-08-09 +X-Github-Media-Type: github.v3; format=json +X-Github-Request-Id: 1C73:26D4:E2E500:1EF78F4:62EC2479 +X-Oauth-Client-Id: 178c6fc778ccc68e1d6a +X-Oauth-Scopes: gist, read:org, repo, workflow +X-Ratelimit-Limit: 15000 +X-Ratelimit-Remaining: 14996 +X-Ratelimit-Reset: 1659645499 +X-Ratelimit-Resource: core +X-Ratelimit-Used: 4 +X-Xss-Protection: 0 ``` -哦,不! 它去哪儿了? 因为我们创建仓库为 _私有_,所以需要经过身份验证才能看到它。 如果您是一位资深的 HTTP 用户,您可能会预期返回 `403`。 由于我们不想泄露有关私有仓库的信息,因此在本例中,{% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API 返回 `404`,就好像说“我们既不能确认也不能否认这个仓库的存在”。 +In this example, the response code is `200`, which indicates a successful request. -## 议题 +{% endcli %} -{% data variables.product.product_name %} 上的议题 UI 旨在提供“恰到好处”的工作流程,不会妨碍您的其他工作。 With the {% data variables.product.product_name %} [Issues API][issues-api], you can pull data out or create issues from other tools to create a workflow that works for your team. +{% javascript %} -与 github.com 一样,API 为经过身份验证的用户提供了一些查看议题的方法。 To [see all your issues][get issues api], call `GET /issues`: +When you make a request with Octokit.js, the `request` method returns a promise. If the request was successful, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`headers`). If an error occurs, the promise resolves to an object that includes the HTTP status code of the response (`status`) and the response headers (`response.headers`). + +You can use a `try/catch` block to catch an error if it occurs. For example, if the request in the following script is successful, the script will log the status code and the value of the `x-ratelimit-remaining` header. If the request was not successful, the script will log the status code, the value of the `x-ratelimit-remaining` header, and the error message. + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + console.log(`Success! Status: ${result.status}. Rate limit remaining: ${result.headers["x-ratelimit-remaining"]}`) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Rate limit remaining: ${error.headers["x-ratelimit-remaining"]}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +To view the status code and headers, use the `--include` or `--i` flag when you send your request. + +For example, this request: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/issues +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" \ +--include ``` -To get only the [issues under one of your {% data variables.product.product_name %} organizations][get issues api], call `GET -/orgs//issues`: +returns the response code and headers like: ```shell -$ curl -i -H "Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a" \ - {% data variables.product.api_url_pre %}/orgs/rails/issues +HTTP/2 200 +server: GitHub.com +date: Thu, 04 Aug 2022 20:07:51 GMT +content-type: application/json; charset=utf-8 +cache-control: public, max-age=60, s-maxage=60 +vary: Accept, Accept-Encoding, Accept, X-Requested-With +etag: W/"7fceb7e8c958d3ec4d02524b042578dcc7b282192e6c939070f4a70390962e18" +x-github-media-type: github.v3; format=json +link: ; rel="next", ; rel="last" +access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset +access-control-allow-origin: * +strict-transport-security: max-age=31536000; includeSubdomains; preload +x-frame-options: deny +x-content-type-options: nosniff +x-xss-protection: 0 +referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin +content-security-policy: default-src 'none' +x-ratelimit-limit: 15000 +x-ratelimit-remaining: 14996 +x-ratelimit-reset: 1659645535 +x-ratelimit-resource: core +x-ratelimit-used: 4 +accept-ranges: bytes +content-length: 4936 +x-github-request-id: 14E0:4BC6:F1B8BA:208E317:62EC2715 ``` -We can also get [all the issues under a single repository][repo issues api]: +In this example, the response code is `200`, which indicates a successful request. + +{% endcurl %} + +### About the response body + +Many operations will return a response body. Unless otherwise specified, the response body is in JSON format. For example, this request returns a list of issues with data about each issue: + +{% cli %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 ``` -### 分页 +{% endcli %} -一个 Rails 规模的项目有数千个议题。 We'll need to [paginate][pagination], making multiple API calls to get the data. 我们来重复上次调用,这次请注意响应标头: +{% javascript %} + +```javascript +await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, +}); +``` + +{% endjavascript %} + +{% curl %} ```shell -$ curl -i {% data variables.product.api_url_pre %}/repos/rails/rails/issues - -> HTTP/2 200 - -> ... -> Link: <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=2>; rel="next", <{% data variables.product.api_url_pre %}/repositories/8514/issues?page=30>; rel="last" -> ... +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" ``` -The [`Link` header][link-header] provides a way for a response to link to external resources, in this case additional pages of data. 由于我们的调用发现的议题超过 30 个(默认页面大小),因此 API 将告诉我们在哪里可以找到结果的下一页和最后一页。 +{% endcurl %} -### 创建议题 +Unlike the GraphQL API where you specify what information you want, the REST API typically returns more information than you need. If desired, you can parse the response to pull out specific pieces of information. -Now that we've seen how to paginate lists of issues, let's [create an issue][create issue] from the API. +{% cli %} -要创建议题,我们需要进行身份验证,因此我们将在标头中传递 OAuth 令牌。 此外,我们还将 JSON 正文中的标题、正文和标签传递到要在其中创建议题的仓库下的 `/issues` 路径: +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'Authorization: token ghp_16C7e42F292c6912E7710c838347Ae178B4a' \ -$ -d '{ \ -$ "title": "New logo", \ -$ "body": "We should have one", \ -$ "labels": ["design"] \ -$ }' \ -$ {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues - -> HTTP/2 201 -> Location: {% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17 -> X-RateLimit-Limit: 5000 - -> { -> "pull_request": { -> "patch_url": null, -> "html_url": null, -> "diff_url": null -> }, -> "created_at": "2012-11-14T15:25:33Z", -> "comments": 0, -> "milestone": null, -> "title": "New logo", -> "body": "We should have one", -> "user": { -> "login": "pengwynn", -> "gravatar_id": "7e19cd5486b5d6dc1ef90e671ba52ae0", -> "avatar_url": "https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png", -> "id": 865, -> "url": "{% data variables.product.api_url_pre %}/users/pengwynn" -> }, -> "closed_at": null, -> "updated_at": "2012-11-14T15:25:33Z", -> "number": 17, -> "closed_by": null, -> "html_url": "https://github.com/pengwynn/api-sandbox/issues/17", -> "labels": [ -> { -> "color": "ededed", -> "name": "design", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/labels/design" -> } -> ], -> "id": 8356941, -> "assignee": null, -> "state": "open", -> "url": "{% data variables.product.api_url_pre %}/repos/pengwynn/api-sandbox/issues/17" -> } +gh api --header 'Accept: application/vnd.github.v3+json' --method GET /repos/octocat/Spoon-Knife/issues -F per_page=2 > data.json ``` -JSON 响应的 `Location` 响应标头和 `url` 字段为我们提供了一些新建议题的指示。 - -## 条件请求 - -通过缓存未更改的信息来遵守速率限制,是成为一个良好 API 公民的重要特质。 The API supports [conditional requests][conditional-requests] and helps you do the right thing. 请注意我们为获取 defunkt 的个人资料而进行的第一个调用: +Then you can use jq to get the title and author ID of each issue: ```shell -$ curl -i {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 200 -> etag: W/"61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0" +jq '.[] | {title: .title, authorID: .user.id}' data.json ``` -除了 JSON 正文之外,还要注意 HTTP 状态代码 `200` 和 `Etag` 标头。 The [ETag][etag] is a fingerprint of the response. 如果我们在后续调用中传递它,则可以告诉 API 仅在资源发生改变的情况才将其再次提供给我们。 +The previous two commands return something like: + +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` + +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcli %} + +{% javascript %} + +For example, you can get the title and author ID of each issue: + +```javascript +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + per_page: 2, + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +{% endjavascript %} + +{% curl %} + +For example, you can use `>` to redirect the response to a file: ```shell -$ curl -i -H 'If-None-Match: "61e964bf6efa3bc3f9e8549e56d4db6e0911d8fa20fcd8ab9d88f13d513f26f0"' \ -$ {% data variables.product.api_url_pre %}/users/defunkt - -> HTTP/2 304 +curl --request GET \ +--url "https://api.github.com/repos/octocat/Spoon-Knife/issues?per_page=2" \ +--header "Accept: application/vnd.github.v3+json" \ +--header "Authorization: Bearer YOUR-TOKEN" > data.json ``` -`304` 状态表示该资源自上次请求以来没有发生改变,该响应将不包含任何正文。 As a bonus, `304` responses don't count against your [rate limit][rate-limiting]. +Then you can use jq to get the title and author ID of each issue: -现在您了解 {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API 的基础知识了! +```shell +jq '.[] | {title: .title, authorID: .user.id}' data.json +``` -* 基本 & OAuth 身份验证 -* 获取和创建仓库及议题 -* 条件请求 +The previous two commands return something like: -Keep learning with the next API guide [Basics of Authentication][auth guide]! +``` +{ + "title": "Update index.html", + "authorID": 10701255 +} +{ + "title": "Edit index file", + "authorID": 53709285 +} +``` -[wrappers]: /libraries/ -[curl]: http://curl.haxx.se/ -[oauth]: /apps/building-integrations/setting-up-and-registering-oauth-apps/ -[webflow]: /apps/building-oauth-apps/authorizing-oauth-apps/ -[scopes]: /apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ -[repos-api]: /rest/reference/repos -[repos-api]: /rest/reference/repos -[pages]: http://pages.github.com -[nanoc]: http://nanoc.ws/ -[gitignore templates]: https://github.com/github/gitignore -[issues-api]: /rest/reference/issues -[link-header]: https://www.w3.org/wiki/LinkHeader -[conditional-requests]: /rest#conditional-requests -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[rate-limiting]: /rest/overview/resources-in-the-rest-api#rate-limit-http-headers -[users api]: /rest/reference/users#get-a-user -[defunkt github]: https://github.com/defunkt -[defunkt github]: https://github.com/defunkt -[json]: http://en.wikipedia.org/wiki/JSON -[authentication]: /rest#authentication -[personal token]: /articles/creating-an-access-token-for-command-line-use -[personal token]: /articles/creating-an-access-token-for-command-line-use -[tokens settings]: https://github.com/settings/tokens -[pagination]: /rest#pagination -[get repo]: /rest/reference/repos#get-a-repository -[create repo]: /rest/reference/repos#create-a-repository-for-the-authenticated-user -[create issue]: /rest/reference/issues#create-an-issue -[auth guide]: /guides/basics-of-authentication -[user repos api]: /rest/reference/repos#list-repositories-for-the-authenticated-user -[other user repos api]: /rest/reference/repos#list-repositories-for-a-user -[org repos api]: /rest/reference/repos#list-organization-repositories -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[get issues api]: /rest/reference/issues#list-issues-assigned-to-the-authenticated-user -[repo issues api]: /rest/reference/issues#list-repository-issues -[etag]: http://en.wikipedia.org/wiki/HTTP_ETag +For more information about jq, see [the jq documentation](https://stedolan.github.io/jq/) and [jq play](https://jqplay.org/). + +{% endcurl %} + +## 后续步骤 + +This article demonstrated how to list and create issues in a repository. For more practice, try to comment on an issue, edit the title of an issue, or close an issue. For more information about these operations, see "[Create an issue comment](/rest/issues#create-an-issue-comment)" and "[Update an issue](/rest/issues/issues#update-an-issue)." + +For more information about the operations that you can use, see the [REST reference documentation](/rest). diff --git a/translations/zh-CN/content/rest/index.md b/translations/zh-CN/content/rest/index.md index 4a6122dd8e..85a18075e9 100644 --- a/translations/zh-CN/content/rest/index.md +++ b/translations/zh-CN/content/rest/index.md @@ -3,7 +3,8 @@ title: GitHub REST API shortTitle: REST API intro: '要创建集成、检索数据和自动化工作流程,请使用 {% data variables.product.prodname_dotcom %} REST API 构建。' introLinks: - quickstart: /rest/guides/getting-started-with-the-rest-api + quickstart: /rest/quickstart + overview: /rest/guides/getting-started-with-the-rest-api featuredLinks: guides: - /rest/guides/getting-started-with-the-rest-api @@ -31,6 +32,7 @@ versions: ghae: '*' ghec: '*' children: + - /quickstart - /overview - /guides - /actions diff --git a/translations/zh-CN/content/rest/quickstart.md b/translations/zh-CN/content/rest/quickstart.md new file mode 100644 index 0000000000..921fba0090 --- /dev/null +++ b/translations/zh-CN/content/rest/quickstart.md @@ -0,0 +1,351 @@ +--- +title: Quickstart for GitHub REST API +intro: 'Learn how to get started with the {% data variables.product.prodname_dotcom %} REST API.' +allowTitleToDifferFromFilename: true +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +shortTitle: 快速入门 +topics: + - API +redirect_from: + - /guides/getting-started + - /v3/guides/getting-started +miniTocMaxHeadingLevel: 3 +--- + +This article describes how to quickly get started with the {% data variables.product.prodname_dotcom %} REST API using {% data variables.product.prodname_cli %}, JavaScript, or cURL. For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." + +{% cli %} + +## Getting started using {% data variables.product.prodname_cli %} + +### Using {% data variables.product.prodname_cli %} in the command line + +{% data variables.product.prodname_cli %} is the easiest way to use the {% data variables.product.prodname_dotcom %} REST API from the command line. + +1. Install {% data variables.product.prodname_cli %} if you haven't installed it yet. For installation instructions, see the [{% data variables.product.prodname_cli %} repository](https://github.com/cli/cli#installation). +1. Use the `auth login` subcommand to authenticate to {% data variables.product.prodname_cli %}. For more information, see the [{% data variables.product.prodname_cli %} `auth login` documentation](https://cli.github.com/manual/gh_auth_login). + + ```shell + gh auth login + ``` + +1. Use the `api` subcommand to make your API request. For more information, see the [{% data variables.product.prodname_cli %} `api` documentation](https://cli.github.com/manual/gh_api). + + ```shell + gh api repos/octocat/Spoon-Knife/issues + ``` + +### Using {% data variables.product.prodname_cli %} in {% data variables.product.prodname_actions %} + +You can also use {% data variables.product.prodname_cli %} in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Using GitHub CLI in workflows](/actions/using-workflows/using-github-cli-in-workflows)." + +Instead of using the `gh auth login` command, pass an access token as an environment variable called `GH_TOKEN`. {% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. 您可以在应用的设置页面上或通过应用 API 找到应用 ID。 更多信息请参阅“[应用程序](/rest/apps/apps#get-an-app)”。 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 +1. 为应用生成私钥。 Store the contents of the resulting file as a secret. (存储文件的全部内容,包括 `-----BEGIN RSA PRIVATE KEY-----` 和 `-----END RSA PRIVATE KEY-----`)。 In the following example, replace `APP_PEM` with the name of the secret. 更多信息请参阅“[向 {% data variables.product.prodname_github_apps %} 验证](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)”。 +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. 例如: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + track_pr: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Use API + env: + GH_TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} + run: | + gh api repos/octocat/Spoon-Knife/issues +``` + +{% endcli %} + +{% javascript %} + +## Getting started using JavaScript + +You can use Octokit.js to interact with the {% data variables.product.prodname_dotcom %} REST API in your JavaScript scripts. For more information, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). + +### Using Octokit.js + +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + To keep your token secure, you can store your token as a secret and run your script through {% data variables.product.prodname_actions %}. For more information, see the "[Using Octokit.js in {% data variables.product.prodname_actions %}](#using-octokitjs-in-github-actions)" section. + + {%- ifversion fpt or ghec %} + + You can also store your token as a {% data variables.product.prodname_codespaces %} secret and run your script in {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Install `octokit`. For example, `npm install octokit`. For other ways to install or load `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Import `octokit` in your script. For example, `import { Octokit } from "octokit";`. For other ways to import `octokit`, see [the Octokit.js README](https://github.com/octokit/octokit.js/#readme). +1. Create an instance of `Octokit` with your token. Replace `YOUR-TOKEN` with your token. + + ```javascript + const octokit = new Octokit({ + auth: 'YOUR-TOKEN' + }); + ``` + +1. Use `octokit.request` to execute your request. Send the HTTP method and path as the first argument. Specify any path, query, and body parameters in an object as the second argument. For example, in the following request the HTTP method is `GET`, the path is `/repos/{owner}/{repo}/issues`, and the parameters are `owner: "octocat"` and `repo: "Spoon-Knife"`. + + ```javascript + await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + ``` + +### Using Octokit.js in {% data variables.product.prodname_actions %} + +You can also execute your JavaScript scripts in your {% data variables.product.prodname_actions %} workflows. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun)." + +{% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +The following example workflow: + +1. Checks out the repository content +1. Sets up Node.js +1. Installs `octokit` +1. Stores the value of `GITHUB_TOKEN` as an environment variable called `TOKEN` and runs `.github/actions-scripts/use-the-api.mjs`, which can access that environment variable as `process.env.TOKEN` + +Example workflow: + +```yaml +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} +``` + +Example JavaScript script, with the file path `.github/actions-scripts/use-the-api.mjs`: + +```javascript +import { Octokit } from "octokit" + +const octokit = new Octokit({ + auth: process.env.TOKEN +}); + +try { + const result = await octokit.request("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "Spoon-Knife", + }); + + const titleAndAuthor = result.data.map(issue => {title: issue.title, authorID: issue.user.id}) + + console.log(titleAndAuthor) + +} catch (error) { + console.log(`Error! Status: ${error.status}. Message: ${error.response.data.message}`) +} +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. 您可以在应用的设置页面上或通过应用 API 找到应用 ID。 更多信息请参阅“[应用程序](/rest/apps/apps#get-an-app)”。 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 +1. 为应用生成私钥。 Store the contents of the resulting file as a secret. (存储文件的全部内容,包括 `-----BEGIN RSA PRIVATE KEY-----` 和 `-----END RSA PRIVATE KEY-----`)。 In the following example, replace `APP_PEM` with the name of the secret. 更多信息请参阅“[向 {% data variables.product.prodname_github_apps %} 验证](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)”。 +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. 例如: + +```yaml +{% data reusables.actions.actions-not-certified-by-github-comment %} + +on: + workflow_dispatch: +jobs: + use_api_via_script: + runs-on: ubuntu-latest + steps: + - name: Check out repo content + uses: {% data reusables.actions.action-checkout %} + + - name: Setup Node + uses: {% data reusables.actions.action-setup-node %} + with: + node-version: '16.15.0' + cache: npm + + - name: Install dependencies + run: npm install octokit + + - name: Generate token + id: generate_token + uses: tibdex/github-app-token@36464acb844fc53b9b8b2401da68844f6b05ebb0 + with: + app_id: {% raw %}${{ secrets.APP_ID }}{% endraw %} + private_key: {% raw %}${{ secrets.APP_PEM }}{% endraw %} + + - name: Run script + run: | + node .github/actions-scripts/use-the-api.mjs + env: + TOKEN: {% raw %}${{ steps.generate_token.outputs.token }}{% endraw %} +``` + +{% endjavascript %} + +{% curl %} + +## Getting started using cURL + +### Using cURL in the command line + +{% note %} + +**Note:** If you want to make API requests from the command line, {% data variables.product.prodname_dotcom %} recommends that you use {% data variables.product.prodname_cli %}, which simplifies authentication and requests. For more information about getting started with the REST API using {% data variables.product.prodname_cli %}, see the {% data variables.product.prodname_cli %} version of this article. + +{% endnote %} + +1. Install cURL if cURL isn't already installed on your machine. To check if cURL is installed, execute `curl --version` in the command line. If the output is information about the cURL version, cURL is installed. If you get a message similar to `command not found: curl`, you need to download and install cURL. For more information, see [the cURL project download page](https://curl.se/download.html). +1. Create an access token. For example, create a personal access token (PAT) or a {% data variables.product.prodname_github_app %} user-to-server access token. For more information, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)" or "[Identifying and authorizing users for GitHub Apps](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)." + + {% warning %} + + **Warning**: Treat your access token like a password. + + {%- ifversion fpt or ghec %} + + To keep your token secure, you can store your token as a {% data variables.product.prodname_codespaces %} secret and use the command line through {% data variables.product.prodname_codespaces %}. For more information, see "[Managing encrypted secrets for your codespaces](/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces)."{% endif %} + + You can also use {% data variables.product.prodname_cli %} instead of cURL. {% data variables.product.prodname_cli %} will take care of authentication for you. For more information, see the {% data variables.product.prodname_cli %} version of this page. + + If these options are not possible, consider using another service such as [the 1Password CLI](https://developer.1password.com/docs/cli/secret-references/) to store your token securely. + + {% endwarning %} + +1. Use the `cURL` command to make your request. Pass your token in an `Authorization` header. Replace `YOUR-TOKEN` with your token. + + ```shell + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer YOUR-TOKEN" + ``` + + {% note %} + + **Note:** In most cases, you can use `Authorization: Bearer` or `Authorization: token`. JSON web tokens (JWTs) only work with `Authorization: Bearer`. + + {% endnote %} + +### Using cURL in {% data variables.product.prodname_actions %} + +You can also use cURL in your {% data variables.product.prodname_actions %} workflows. + +{% data variables.product.prodname_dotcom %} recommends that you use the built-in `GITHUB_TOKEN` instead of creating a token. If this is not possible, store your token as a secret and replace `GITHUB_TOKEN` in the example below with the name of your secret. For more information about `GITHUB_TOKEN`, see "[Automatic token authentication](/actions/security-guides/automatic-token-authentication)." 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 + +```yaml +on: + workflow_dispatch: +jobs: + use_api: + runs-on: ubuntu-latest + permissions: + issues: read + steps: + - env: + GH_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} + run: | + curl --request GET \ + --url "https://api.github.com/repos/octocat/Spoon-Knife/issues" \ + --header "Accept: application/vnd.github.v3+json" \ + --header "Authorization: Bearer $GH_TOKEN" +``` + +If you are authenticating with a {% data variables.product.prodname_github_app %}, you can create an installation access token within your workflow: + +1. Store your {% data variables.product.prodname_github_app %}'s ID as a secret. In the following example, replace `APP_ID` with the name of the secret. 您可以在应用的设置页面上或通过应用 API 找到应用 ID。 更多信息请参阅“[应用程序](/rest/apps/apps#get-an-app)”。 有关机密的更多信息,请参阅“[加密密码](/actions/security-guides/encrypted-secrets)”。 +1. 为应用生成私钥。 Store the contents of the resulting file as a secret. (存储文件的全部内容,包括 `-----BEGIN RSA PRIVATE KEY-----` 和 `-----END RSA PRIVATE KEY-----`)。 In the following example, replace `APP_PEM` with the name of the secret. 更多信息请参阅“[向 {% data variables.product.prodname_github_apps %} 验证](/developers/apps/building-github-apps/authenticating-with-github-apps#generating-a-private-key)”。 +1. Add a step to generate a token, and use that token instead of `GITHUB_TOKEN`. Note that this token will expire after 60 minutes. 例如: + +```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 %} + +## 后续步骤 + +For a more detailed guide, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api)." diff --git a/translations/zh-CN/content/rest/teams/external-groups.md b/translations/zh-CN/content/rest/teams/external-groups.md index 0fa02a12f7..77405ae5f3 100644 --- a/translations/zh-CN/content/rest/teams/external-groups.md +++ b/translations/zh-CN/content/rest/teams/external-groups.md @@ -19,7 +19,7 @@ miniTocMaxHeadingLevel: 3 **注意:** -- 外部组 API 仅适用于属于使用 {% data variables.product.prodname_emus %} 的企业中的组织。 更多信息请参阅“[关于企业管理用户](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)”。 +- The external groups API is only available for organizations that are part of an enterprise using {% data variables.product.prodname_emus %}. 更多信息请参阅“[关于企业管理用户](/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users)”。 - 如果您的组织使用团队同步,则可以使用团队同步 API。 更多信息请参阅“[团队同步 API](#team-synchronization)”。 {% endnote %} diff --git a/translations/zh-CN/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/translations/zh-CN/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md index 096e87b9cd..9dfa58adf6 100644 --- a/translations/zh-CN/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md +++ b/translations/zh-CN/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -25,7 +25,7 @@ shortTitle: 赞助贡献者 您可以代表您的个人帐户赞助一个帐户,以投资您个人受益的项目。 您可以代表您的组织赞助帐户,原因有很多。 - 维护组织工作所依赖的特定库 -- 投资于作为一个组织所依赖的生态系统(如区块链) +- Investing in the ecosystem you rely on as an organization (such as blockchain) - 作为重视开源的组织,培养品牌知名度 - 感谢开源开发者构建库来补充您的组织提供的产品 diff --git a/translations/zh-CN/data/features/actions-oidc-hardening-config.yml b/translations/zh-CN/data/features/actions-oidc-hardening-config.yml new file mode 100644 index 0000000000..f3048bac8b --- /dev/null +++ b/translations/zh-CN/data/features/actions-oidc-hardening-config.yml @@ -0,0 +1,6 @@ +#Reference: #7336 +#General versioning for oidc hardening options +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' diff --git a/translations/zh-CN/data/features/dependabot-alerts-vulnerable-calls.yml b/translations/zh-CN/data/features/dependabot-alerts-vulnerable-calls.yml index 84825c368b..a7f772a7c5 100644 --- a/translations/zh-CN/data/features/dependabot-alerts-vulnerable-calls.yml +++ b/translations/zh-CN/data/features/dependabot-alerts-vulnerable-calls.yml @@ -3,5 +3,4 @@ versions: fpt: '*' ghec: '*' - ghes: '>3.5' ghae: 'issue-6076' diff --git a/translations/zh-CN/data/features/enterprise-namespace-repo-setting.yml b/translations/zh-CN/data/features/enterprise-namespace-repo-setting.yml new file mode 100644 index 0000000000..e20549f3ea --- /dev/null +++ b/translations/zh-CN/data/features/enterprise-namespace-repo-setting.yml @@ -0,0 +1,6 @@ +#Reference: #7757 +#Setting to disable personal namespace repo creation for EMUs, GHES 3.7+ and GHAE 3.7+ users +versions: + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7757' diff --git a/translations/zh-CN/data/features/ip-allow-list-address-check.yml b/translations/zh-CN/data/features/ip-allow-list-address-check.yml new file mode 100644 index 0000000000..c4dda87a70 --- /dev/null +++ b/translations/zh-CN/data/features/ip-allow-list-address-check.yml @@ -0,0 +1,3 @@ +versions: + ghec: '*' + ghae: 'issue-7818' diff --git a/translations/zh-CN/data/features/multiple-accounts-one-workstation.yml b/translations/zh-CN/data/features/multiple-accounts-one-workstation.yml new file mode 100644 index 0000000000..9fce93b34e --- /dev/null +++ b/translations/zh-CN/data/features/multiple-accounts-one-workstation.yml @@ -0,0 +1,5 @@ +#Issue #7330 +#Documentation for managing multiple GitHub accounts on one workstation +versions: + fpt: '*' + ghec: '*' diff --git a/translations/zh-CN/data/features/packages-npm-v2.yml b/translations/zh-CN/data/features/packages-npm-v2.yml new file mode 100644 index 0000000000..572e412e4a --- /dev/null +++ b/translations/zh-CN/data/features/packages-npm-v2.yml @@ -0,0 +1,5 @@ +#Issue 7039 +#npm Package Registry Improvements (v2) GA +versions: + fpt: '*' + ghec: '*' diff --git a/translations/zh-CN/data/features/push-protection-custom-link-orgs-beta.yml b/translations/zh-CN/data/features/push-protection-custom-link-orgs-beta.yml new file mode 100644 index 0000000000..509caa9fb4 --- /dev/null +++ b/translations/zh-CN/data/features/push-protection-custom-link-orgs-beta.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links beta flags +#See "push-protection-custom-link-orgs" for the feature +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/zh-CN/data/features/push-protection-custom-link-orgs.yml b/translations/zh-CN/data/features/push-protection-custom-link-orgs.yml new file mode 100644 index 0000000000..fce23efa96 --- /dev/null +++ b/translations/zh-CN/data/features/push-protection-custom-link-orgs.yml @@ -0,0 +1,8 @@ +#Issue 7299 +#Push protection custom links +#See "push-protection-custom-link-orgs-beta" for the beta flags +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.7' + ghae: 'issue-7299' diff --git a/translations/zh-CN/data/features/ssh-commit-verification.yml b/translations/zh-CN/data/features/ssh-commit-verification.yml new file mode 100644 index 0000000000..7851b1c8b7 --- /dev/null +++ b/translations/zh-CN/data/features/ssh-commit-verification.yml @@ -0,0 +1,8 @@ +#Reference: github/docs-content#6709 +#Initial docs for showing SSH signed commits as verified and +#uploading SSH signing keys +versions: + fpt: '*' + ghec: '*' + ghes: '>= 3.7' + ghae: '*' diff --git a/translations/zh-CN/data/features/streaming-datadog.yml b/translations/zh-CN/data/features/streaming-datadog.yml new file mode 100644 index 0000000000..ab90546c8d --- /dev/null +++ b/translations/zh-CN/data/features/streaming-datadog.yml @@ -0,0 +1,4 @@ +#Reference #7495 +#Documentation for audit log streaming to a Datadog endpoint +versions: + ghec: '*' diff --git a/translations/zh-CN/data/release-notes/enterprise-server/3-6/0.yml b/translations/zh-CN/data/release-notes/enterprise-server/3-6/0.yml index 8f86df75a1..3c0b6c491c 100644 --- a/translations/zh-CN/data/release-notes/enterprise-server/3-6/0.yml +++ b/translations/zh-CN/data/release-notes/enterprise-server/3-6/0.yml @@ -211,3 +211,4 @@ sections: - In a repository's settings, enabling the option to allow users with read access to create discussions does not enable this functionality. - In some cases, users cannot convert existing issues to discussions. - Custom patterns for secret scanning have `.*` as an end delimiter, specifically in the "After secret" field. This delimiter causes inconsistencies in scans for secrets across repositories, and you may notice gaps in a repository's history where no scans completed. Incremental scans may also be impacted. To prevent issues with scans, modify the end of the pattern to remove the `.*` delimiter. + - '{% data reusables.release-notes.ghas-3.4-secret-scanning-known-issue %}' diff --git a/translations/zh-CN/data/reusables/accounts/create-personal-access-tokens.md b/translations/zh-CN/data/reusables/accounts/create-personal-access-tokens.md new file mode 100644 index 0000000000..5278d0c246 --- /dev/null +++ b/translations/zh-CN/data/reusables/accounts/create-personal-access-tokens.md @@ -0,0 +1 @@ +1. For each of your accounts, create a dedicated PAT with `repo` scope. 更多信息请参阅“[创建个人访问令牌](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)”。 \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/actions/use-request-body-api.md b/translations/zh-CN/data/reusables/actions/use-request-body-api.md new file mode 100644 index 0000000000..1d37d0c4f0 --- /dev/null +++ b/translations/zh-CN/data/reusables/actions/use-request-body-api.md @@ -0,0 +1 @@ +To apply this configuration, submit a request to the API endpoint and include the required configuration in the request body. For more information, see "[Set the customization template for an OIDC subject claim for an organization](/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization)". \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/advanced-security/custom-link-beta.md b/translations/zh-CN/data/reusables/advanced-security/custom-link-beta.md new file mode 100644 index 0000000000..a79fc22417 --- /dev/null +++ b/translations/zh-CN/data/reusables/advanced-security/custom-link-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** The ability to add resource links to blocked push messages is currently in public beta and subject to change. + +{% endnote %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/advanced-security/secret-scanning-push-protection-org.md b/translations/zh-CN/data/reusables/advanced-security/secret-scanning-push-protection-org.md index 5a86f3e78c..ebddd40be1 100644 --- a/translations/zh-CN/data/reusables/advanced-security/secret-scanning-push-protection-org.md +++ b/translations/zh-CN/data/reusables/advanced-security/secret-scanning-push-protection-org.md @@ -1,2 +1,6 @@ 1. 在“{% data variables.product.prodname_secret_scanning_caps %}”下的“Push protection(推送保护)”下,单击 **Enable all(启用所有)**。 ![显示如何为组织启用 {% data variables.product.prodname_secret_scanning %} 推送保护的屏幕截图](/assets/images/help/organizations/secret-scanning-enable-push-protection.png) -1. (可选)单击“自动为添加到 {% data variables.product.prodname_secret_scanning %} 的私有仓库启用”。 +1. Optionally, click "Automatically enable for private repositories added to {% data variables.product.prodname_secret_scanning %}."{% ifversion push-protection-custom-link-orgs %} +1. Optionally, to include a custom link in the message that members will see when they attempt to push a secret, select **Add a resource link in the CLI and web UI when a commit is blocked**, then type a URL, and click **Save link**. + {% ifversion push-protection-custom-link-orgs-beta %}{% indented_data_reference reusables.advanced-security.custom-link-beta spaces=3 %}{% endif %} + + ![Screenshot showing checkbox and text field for enabling a custom link](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/code-scanning/licensing-note.md b/translations/zh-CN/data/reusables/code-scanning/licensing-note.md index aada4a282a..78daff0333 100644 --- a/translations/zh-CN/data/reusables/code-scanning/licensing-note.md +++ b/translations/zh-CN/data/reusables/code-scanning/licensing-note.md @@ -1,8 +1,12 @@ {% note %} -**注意:** {% ifversion fpt %} - {% data variables.product.prodname_codeql_cli %} 可在公共存储库上免费使用。 {% data variables.product.prodname_codeql_cli %} 也可用于使用 {% data variables.product.prodname_ghe_cloud %} 并有 {% data variables.product.prodname_GH_advanced_security %} 许可证的组织拥有的私有存储库。 有关信息请参阅“[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} 条款和条件](https://securitylab.github.com/tools/codeql/license)”和“[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)”。 -{%- elsif ghec %} {% data variables.product.prodname_codeql_cli %} 可以免费用于在 {% data variables.product.prodname_dotcom_the_website %}上维护的公共存储库,并可用于具有 {% data variables.product.prodname_advanced_security %} 许可证的客户拥有的私有存储库。 有关信息请参阅“[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} 条款和条件](https://securitylab.github.com/tools/codeql/license)”和“[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)”。 -{%- elsif ghes or ghae %}{% data variables.product.prodname_codeql_cli %} 可用于拥有 {% data variables.product.prodname_advanced_security %} 许可证的客户。 +**Notes:** {% ifversion fpt %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories. {% data variables.product.prodname_codeql_cli %} 也可用于使用 {% data variables.product.prodname_ghe_cloud %} 并有 {% data variables.product.prodname_GH_advanced_security %} 许可证的组织拥有的私有存储库。 有关信息请参阅“[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} 条款和条件](https://securitylab.github.com/tools/codeql/license)”和“[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)”。 +{%- elsif ghec %} +- The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. 有关信息请参阅“[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} 条款和条件](https://securitylab.github.com/tools/codeql/license)”和“[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)”。 +{%- elsif ghes or ghae %} +- {% data variables.product.prodname_codeql_cli %} 可用于拥有 {% data variables.product.prodname_advanced_security %} 许可证的客户。 {% endif %} +- {% data reusables.code-scanning.non-glibc-linux-support %} + {% endnote %} diff --git a/translations/zh-CN/data/reusables/code-scanning/non-glibc-linux-support.md b/translations/zh-CN/data/reusables/code-scanning/non-glibc-linux-support.md new file mode 100644 index 0000000000..2a1c2a8e53 --- /dev/null +++ b/translations/zh-CN/data/reusables/code-scanning/non-glibc-linux-support.md @@ -0,0 +1 @@ +The {% data variables.product.prodname_codeql_cli %} is currently not compatible with non-glibc Linux distributions such as (musl-based) Alpine Linux. \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/translations/zh-CN/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 0eae7a1f6f..f4258a8c1b 100644 --- a/translations/zh-CN/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/translations/zh-CN/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1 +1,5 @@ -1. 在 {% data variables.product.prodname_vscode_shortname %} 中,从左侧边栏单击 Remote Explorer 图标。 ![{% data variables.product.prodname_vscode %} 中的 Remote Explorer 图标](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) +1. 在 {% data variables.product.prodname_vscode_shortname %} 中,从左侧边栏单击 Remote Explorer 图标。 + + ![{% data variables.product.prodname_vscode %} 中的 Remote Explorer 图标](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) + +{% indented_data_reference reusables.codespaces.remote-explorer spaces=3 %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/codespaces/codespaces-disabling-org-billing.md b/translations/zh-CN/data/reusables/codespaces/codespaces-disabling-org-billing.md new file mode 100644 index 0000000000..a3d7ca0c7a --- /dev/null +++ b/translations/zh-CN/data/reusables/codespaces/codespaces-disabling-org-billing.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: If you disable billable codespaces use for your organization, anyone who can create codespaces as an individual user, and can clone a repository in your organization, will still be able to create a codespace for that repository. However, this will not incur any charge for your organization. For information about restricting access to a repository, see "[Managing teams and people with access to your repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." + +{% endnote %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/codespaces/codespaces-org-policies-note.md b/translations/zh-CN/data/reusables/codespaces/codespaces-org-policies-note.md new file mode 100644 index 0000000000..69e6530791 --- /dev/null +++ b/translations/zh-CN/data/reusables/codespaces/codespaces-org-policies-note.md @@ -0,0 +1,5 @@ +{% note %} + +**Note**: Organization policies you define for {% data variables.product.prodname_codespaces %} only apply to codespaces for which your organization will be billed. If an individual user creates a codespace for a repository in your organization, and the organization is not billed, then the codespace will not be bound by these policies. For information on how to choose who can create codespaces that are billed to your organization, see "[Enabling {% data variables.product.prodname_github_codespaces %} for your organization](https://docs-internal-29134-ad7bd8.preview.ghdocs.com/en/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." + +{% endnote %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/codespaces/codespaces-spending-limit-requirement.md b/translations/zh-CN/data/reusables/codespaces/codespaces-spending-limit-requirement.md index e0b45cbee3..2e4bd63ee8 100644 --- a/translations/zh-CN/data/reusables/codespaces/codespaces-spending-limit-requirement.md +++ b/translations/zh-CN/data/reusables/codespaces/codespaces-spending-limit-requirement.md @@ -1,9 +1,9 @@ {% note %} -**注意:**必须先设置支出限额,然后才能使用 {% data variables.product.prodname_codespaces %}。 +**Note:** You must set a non-zero spending limit before you can use {% data variables.product.prodname_codespaces %}. {% endnote %} -默认情况下,您的组织或企业的 {% data variables.product.prodname_github_codespaces %} 支出限制为 $0,这将阻止创建新代码空间或打开现有代码空间。 若要允许用户在组织中创建代码空间,请将限制设置为大于 $0 的值。 +By default, your organization or enterprise will have a {% data variables.product.prodname_github_codespaces %} spending limit of $0. This prevents new codespaces from being created, or existing codespaces from being opened, if this would incur a billable cost to your organization or enterprise. 若要允许用户在组织中创建代码空间,请将限制设置为大于 $0 的值。 {% data reusables.billing.overages-billed-monthly %} diff --git a/translations/zh-CN/data/reusables/codespaces/remote-explorer.md b/translations/zh-CN/data/reusables/codespaces/remote-explorer.md new file mode 100644 index 0000000000..c46ed9b539 --- /dev/null +++ b/translations/zh-CN/data/reusables/codespaces/remote-explorer.md @@ -0,0 +1,9 @@ +{% note %} + +**Note**: If the Remote Explorer is not displayed in the Activity Bar: + +1. Access the command palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux). +1. Type: `codespaces`. +1. Click **Codespaces: Details**. + +{% endnote %} diff --git a/translations/zh-CN/data/reusables/dependabot/dependabot-alerts-filters.md b/translations/zh-CN/data/reusables/dependabot/dependabot-alerts-filters.md index 0a2e0ad1ba..29684cdd92 100644 --- a/translations/zh-CN/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/translations/zh-CN/data/reusables/dependabot/dependabot-alerts-filters.md @@ -2,7 +2,7 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %} | 选项 | 描述 | 示例 | |:---------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `生态系统` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 %} +| `生态系统` | Displays alerts for the selected ecosystem | Use `ecosystem:npm` to show {% data variables.product.prodname_dependabot_alerts %} for npm |{% ifversion fpt or ghec or ghes > 3.5 or ghae-issue-7891 %} | `has` | Displays alerts meeting the selected filter criteria | Use `has:patch` to show alerts related to advisories that have a patch{% ifversion dependabot-alerts-vulnerable-calls %}
Use `has:vulnerable-calls` to show alerts relating to calls to vulnerable functions{% endif %} {% endif %} | `is` | Displays alerts based on their state | Use `is:open` to show open alerts | diff --git a/translations/zh-CN/data/reusables/enterprise-accounts/repo-creation-policy.md b/translations/zh-CN/data/reusables/enterprise-accounts/repo-creation-policy.md index be5c8f8546..fa398e2027 100644 --- a/translations/zh-CN/data/reusables/enterprise-accounts/repo-creation-policy.md +++ b/translations/zh-CN/data/reusables/enterprise-accounts/repo-creation-policy.md @@ -1 +1,6 @@ -1. 在“Repository creation(仓库创建)”下,选择一个策略。 ![带有仓库创建策略选项的下拉菜单](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) +1. 在“Repository creation(仓库创建)”下,选择一个策略。 + {% ifversion enterprise-namespace-repo-setting %} + ![带有仓库创建策略选项的下拉菜单](/assets/images/help/business-accounts/restrict-personal-namespace-setting.png) + {% else %} + ![带有仓库创建策略选项的下拉菜单](/assets/images/help/business-accounts/repository-creation-policy-drop-down.png) + {% endif %} diff --git a/translations/zh-CN/data/reusables/enterprise-accounts/repository-visibility-policy.md b/translations/zh-CN/data/reusables/enterprise-accounts/repository-visibility-policy.md deleted file mode 100644 index 020b1d59e8..0000000000 --- a/translations/zh-CN/data/reusables/enterprise-accounts/repository-visibility-policy.md +++ /dev/null @@ -1 +0,0 @@ -1. 在“Repository visibility change(仓库可见性更改)”下,使用下拉菜单选择策略。 ![带有仓库可见性策略选项的下拉菜单](/assets/images/help/business-accounts/repository-visibility-policy-drop-down.png) diff --git a/translations/zh-CN/data/reusables/enterprise-accounts/security-tab.md b/translations/zh-CN/data/reusables/enterprise-accounts/security-tab.md index 361912ab4a..bb35e3750e 100644 --- a/translations/zh-CN/data/reusables/enterprise-accounts/security-tab.md +++ b/translations/zh-CN/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,7 @@ +{%- ifversion ghec or ghes > 3.4 or ghae-issue-7875 %} +1. In the left sidebar, click **Authentication security**. + {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-authentication-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-authentication-security-tab.png){% endif %} +{%- else %} 1. 在左侧边栏中,单击 **Security(安全)**。 {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} +{%- endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md b/translations/zh-CN/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md index c5d6100063..d9e308eee9 100644 --- a/translations/zh-CN/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md +++ b/translations/zh-CN/data/reusables/enterprise_site_admin_settings/pgp-key-env-variable.md @@ -1,4 +1,4 @@ -1. Define the key as a environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. +1. Define the key as an environment variable for {% data variables.product.product_name %}, replacing `` with the GPG key ID. ```bash{:copy} ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a | awk '{printf "%s\\n", $0}')" diff --git a/translations/zh-CN/data/reusables/git/cache-on-repository-path.md b/translations/zh-CN/data/reusables/git/cache-on-repository-path.md new file mode 100644 index 0000000000..ced81ebbd9 --- /dev/null +++ b/translations/zh-CN/data/reusables/git/cache-on-repository-path.md @@ -0,0 +1,5 @@ +1. To configure Git to cache credentials for each local directory where you clone a repository, enter the following command. + + ```shell{:copy} + git config --global credential.useHttpPath true + ``` diff --git a/translations/zh-CN/data/reusables/git/clear-stored-gcm-credentials.md b/translations/zh-CN/data/reusables/git/clear-stored-gcm-credentials.md new file mode 100644 index 0000000000..04e3de748e --- /dev/null +++ b/translations/zh-CN/data/reusables/git/clear-stored-gcm-credentials.md @@ -0,0 +1,5 @@ +- If the output is `manager-core`, you're using Git Credential Manager. To clear the credentials, run the following command. + + ```shell{:copy} + git credential-manager reject https://github.com + ``` diff --git a/translations/zh-CN/data/reusables/git/clear-the-stored-credentials.md b/translations/zh-CN/data/reusables/git/clear-the-stored-credentials.md new file mode 100644 index 0000000000..f723d7ab97 --- /dev/null +++ b/translations/zh-CN/data/reusables/git/clear-the-stored-credentials.md @@ -0,0 +1 @@ +1. If the output confirms that you're using a credential manager, clear the stored credentials for the credential manager. diff --git a/translations/zh-CN/data/reusables/git/confirm-credential-manager.md b/translations/zh-CN/data/reusables/git/confirm-credential-manager.md new file mode 100644 index 0000000000..68c6e99397 --- /dev/null +++ b/translations/zh-CN/data/reusables/git/confirm-credential-manager.md @@ -0,0 +1,5 @@ +1. To confirm your use of a credential manager, enter the following command and note the output. + + ```shell{:copy} + git config --get credential.helper + ``` diff --git a/translations/zh-CN/data/reusables/git/no-credential-manager.md b/translations/zh-CN/data/reusables/git/no-credential-manager.md new file mode 100644 index 0000000000..fe79c2ff04 --- /dev/null +++ b/translations/zh-CN/data/reusables/git/no-credential-manager.md @@ -0,0 +1 @@ +- If the output doesn't include the name of a credential manager, there is no credential manager configured, and you can proceed to the next step. \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/git/open-terminal.md b/translations/zh-CN/data/reusables/git/open-terminal.md new file mode 100644 index 0000000000..98b8f27c80 --- /dev/null +++ b/translations/zh-CN/data/reusables/git/open-terminal.md @@ -0,0 +1 @@ +1. 打开终端。 diff --git a/translations/zh-CN/data/reusables/git/provide-credentials.md b/translations/zh-CN/data/reusables/git/provide-credentials.md new file mode 100644 index 0000000000..351a1e87d1 --- /dev/null +++ b/translations/zh-CN/data/reusables/git/provide-credentials.md @@ -0,0 +1,3 @@ +1. The first time that you use Git to clone a repository or access data in a repository that you've already cloned, Git will request credentials. Provide the PAT for the account with access to the repository. + + Git will cache the PAT for the directory you're in, and you'll be able to access and write repository data on {% data variables.product.product_location %} using the correct account. diff --git a/translations/zh-CN/data/reusables/gpg/configure-ssh-signing.md b/translations/zh-CN/data/reusables/gpg/configure-ssh-signing.md new file mode 100644 index 0000000000..f0f489a73a --- /dev/null +++ b/translations/zh-CN/data/reusables/gpg/configure-ssh-signing.md @@ -0,0 +1,4 @@ +1. Configure Git to use SSH to sign commits and tags: + ```bash + $ git config --global gpg.format ssh + ``` \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/gpg/copy-gpg-key-id.md b/translations/zh-CN/data/reusables/gpg/copy-gpg-key-id.md index f5de6e1efb..51cdb3d2e3 100644 --- a/translations/zh-CN/data/reusables/gpg/copy-gpg-key-id.md +++ b/translations/zh-CN/data/reusables/gpg/copy-gpg-key-id.md @@ -1,9 +1,9 @@ 1. 从 GPG 密钥列表中复制您想要使用的 GPG 密钥 ID 的长形式。 在此例中,GPG 密钥 ID 是 `3AA5C34371567BD2`: - ```shell + ```shell{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10 - ``` + ``` diff --git a/translations/zh-CN/data/reusables/gpg/copy-ssh-public-key.md b/translations/zh-CN/data/reusables/gpg/copy-ssh-public-key.md new file mode 100644 index 0000000000..3c9ff53640 --- /dev/null +++ b/translations/zh-CN/data/reusables/gpg/copy-ssh-public-key.md @@ -0,0 +1,43 @@ +1. 将 SSH 公钥复制到剪贴板。 + + 如果您的 SSH 公钥文件与示例代码不同,请修改文件名以匹配您当前的设置。 在复制密钥时,请勿添加任何新行或空格。 +{% mac %} + + ```shell + $ pbcopy < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **提示:**如果 `pbcopy` 不可用,可找到隐藏的 `.ssh` 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。 + + {% endtip %} +{% endmac %} +{% windows %} + + ```shell + $ clip < ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Copies the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file to your clipboard + ``` + + {% tip %} + + **提示:**如果 `clip` 不可用,可找到隐藏的 `.ssh` 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。 + + {% endtip %} +{% endwindows %} +{% linux %} + + ```shell + $ cat ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub + # Then select and copy the contents of the id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}.pub file + # displayed in the terminal to your clipboard + ``` + + {% tip %} + + **提示:**或者,您也可以找到隐藏的 `.ssh` 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。 + + {% endtip %} +{% endlinux %} diff --git a/translations/zh-CN/data/reusables/gpg/list-keys-with-note.md b/translations/zh-CN/data/reusables/gpg/list-keys-with-note.md index 38cea23d74..3ad866aa38 100644 --- a/translations/zh-CN/data/reusables/gpg/list-keys-with-note.md +++ b/translations/zh-CN/data/reusables/gpg/list-keys-with-note.md @@ -1,10 +1,11 @@ - 1. 使用 `gpg --list-secret-keys --keyid-format=long` 命令列出您拥有其公钥和私钥的长形式 GPG 密钥。 签名提交或标记需要私钥。 - ```shell - $ gpg --list-secret-keys --keyid-format=long -``` - {% note %} - **注:**Linux上的一些 GPG 安装可能需要使用 `gpg2 --list-keyid-form LONG` 查看您现有密钥的列表。 在这种情况下,您还需要运行 `git config --global gpg.program gpg2` 来配置 Git 使用 `git gpg2`。 + ```shell{:copy} + $ gpg --list-secret-keys --keyid-format=long + ``` - {% endnote %} + {% note %} + + **注:**Linux上的一些 GPG 安装可能需要使用 `gpg2 --list-keyid-form LONG` 查看您现有密钥的列表。 在这种情况下,您还需要运行 `git config --global gpg.program gpg2` 来配置 Git 使用 `git gpg2`。 + + {% endnote %} diff --git a/translations/zh-CN/data/reusables/gpg/paste-ssh-public-key.md b/translations/zh-CN/data/reusables/gpg/paste-ssh-public-key.md new file mode 100644 index 0000000000..1274a0acb5 --- /dev/null +++ b/translations/zh-CN/data/reusables/gpg/paste-ssh-public-key.md @@ -0,0 +1,4 @@ +1. To set your SSH signing key in Git, paste the text below, substituting the contents of your clipboard for the key you'd like to use. Since the key contains spaces, you must wrap it in quotes: + ```bash + $ git config --global user.signingkey 'ssh-ed25519 AAAAC3(...) user@example.com' + ``` \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/gpg/ssh-git-version.md b/translations/zh-CN/data/reusables/gpg/ssh-git-version.md new file mode 100644 index 0000000000..d75ab5df71 --- /dev/null +++ b/translations/zh-CN/data/reusables/gpg/ssh-git-version.md @@ -0,0 +1,6 @@ + +{% note %} + +**Note:** SSH signature verification is available in Git 2.34 or later. 要更新 Git 版本,请参阅 [Git](https://git-scm.com/downloads) 网站。 + +{% endnote %} diff --git a/translations/zh-CN/data/reusables/gpg/x-509-key.md b/translations/zh-CN/data/reusables/gpg/x-509-key.md index b8ad4b392f..11c88ba0e0 100644 --- a/translations/zh-CN/data/reusables/gpg/x-509-key.md +++ b/translations/zh-CN/data/reusables/gpg/x-509-key.md @@ -1,5 +1,5 @@ -### 将您的 X.509 密钥告知 Git +## 将您的 X.509 密钥告知 Git 您可以使用 [smimesign](https://github.com/github/smimesign) 以 S/MIME 代替 GPG 对提交和标记签名。 diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md b/translations/zh-CN/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md new file mode 100644 index 0000000000..772581f87a --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/about-adding-ip-allow-list-entries.md @@ -0,0 +1,3 @@ +You can create an IP allow list by adding entries that each contain an IP address or address range.{% ifversion ip-allow-list-address-check %} After you finish adding entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list.{% endif %} + +Before the list restricts access to {% ifversion ghae %}your enterprise{% else %}private assets owned by organizations in your enterprise{% endif %}, you must also enable allowed IP addresses. \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/about-checking-ip-address.md b/translations/zh-CN/data/reusables/identity-and-permissions/about-checking-ip-address.md new file mode 100644 index 0000000000..dfdc758f91 --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/about-checking-ip-address.md @@ -0,0 +1 @@ +You can check whether a particular IP address would be allowed by any of the enabled entries in your IP allow list, even if the list is not currently enabled. \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md b/translations/zh-CN/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md new file mode 100644 index 0000000000..d646e02ec5 --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/about-editing-ip-allow-list-entries.md @@ -0,0 +1,5 @@ +You can edit an entry in your IP allow list. If you edit an enabled entry, changes are enforced immediately. + +{% ifversion ip-allow-list-address-check %} +After you finish editing entries, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. +{% endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md b/translations/zh-CN/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md new file mode 100644 index 0000000000..f886df0690 --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/about-enabling-allowed-ip-addresses.md @@ -0,0 +1,5 @@ +After you create an IP allow list, you can enable allowed IP addresses. When you enable allowed IP addresses, {% data variables.product.company_short %} immediately enforces any enabled entries in your IP allow list. + +{% ifversion ip-allow-list-address-check %} +Before you enable allowed IP addresses, you can check whether a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{% endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/check-ip-address-step.md b/translations/zh-CN/data/reusables/identity-and-permissions/check-ip-address-step.md new file mode 100644 index 0000000000..5e73fdddcd --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/check-ip-address-step.md @@ -0,0 +1 @@ +1. Under "Check your IP address", enter an IP address. ![Screenshot of the "Check IP address" text field](/assets/images/help/security/check-ip-address.png) \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/check-ip-address.md b/translations/zh-CN/data/reusables/identity-and-permissions/check-ip-address.md new file mode 100644 index 0000000000..9a187752d6 --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/check-ip-address.md @@ -0,0 +1,3 @@ +{%- ifversion ip-allow-list-address-check %} +1. Optionally, check if a particular IP address would be allowed by any of the enabled entries in your list. For more information, see "[Checking if an IP address is permitted](#checking-if-an-ip-address-is-permitted)." +{%- endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/ip-allow-lists-enable.md b/translations/zh-CN/data/reusables/identity-and-permissions/ip-allow-lists-enable.md index be86d46b13..9e538b2c26 100644 --- a/translations/zh-CN/data/reusables/identity-and-permissions/ip-allow-lists-enable.md +++ b/translations/zh-CN/data/reusables/identity-and-permissions/ip-allow-lists-enable.md @@ -1 +1,3 @@ -要执行 IP 允许列表,必须先将 IP 地址添加到列表,然后启用 IP 允许列表。 您必须先添加当前 IP 地址或匹配范围,然后才能启用 IP 允许列表。 +To enforce the IP allow list, you must first add IP addresses to the list, then enable the IP allow list.{% ifversion ip-allow-list-address-check %} After you complete your list, you can check whether a particular IP address would be allowed by any of the enabled entries in the list.{% endif %} + +您必须先添加当前 IP 地址或匹配范围,然后才能启用 IP 允许列表。 diff --git a/translations/zh-CN/data/reusables/identity-and-permissions/ipv6-allow-lists.md b/translations/zh-CN/data/reusables/identity-and-permissions/ipv6-allow-lists.md new file mode 100644 index 0000000000..3c26491fe2 --- /dev/null +++ b/translations/zh-CN/data/reusables/identity-and-permissions/ipv6-allow-lists.md @@ -0,0 +1,7 @@ +{% ifversion fpt or ghec %} +{% note %} + +**Note:** {% data variables.product.company_short %} is gradually rolling out support for IPv6. As {% data variables.product.prodname_dotcom %} services continue to add IPv6 support, we will start recognizing IPv6 addresses of {% data variables.product.prodname_dotcom %} users. To prevent possible access interruptions, please ensure you have added any necessary IPv6 addresses to your IP allow list. + +{% endnote %} +{% endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/organizations/about-following-organizations.md b/translations/zh-CN/data/reusables/organizations/about-following-organizations.md new file mode 100644 index 0000000000..52e52467fb --- /dev/null +++ b/translations/zh-CN/data/reusables/organizations/about-following-organizations.md @@ -0,0 +1 @@ +When you follow organizations on {% data variables.product.product_name %}, you'll see their {% ifversion fpt or ghec %}public{% endif %} activity on your personal dashboard. This activity includes new discussions, sponsorships, and repositories. \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/organizations/follow-organizations-beta.md b/translations/zh-CN/data/reusables/organizations/follow-organizations-beta.md new file mode 100644 index 0000000000..27d068eb46 --- /dev/null +++ b/translations/zh-CN/data/reusables/organizations/follow-organizations-beta.md @@ -0,0 +1,5 @@ +{% note %} + +**注意:** 关注组织的功能目前处于公开测试阶段,可能会发生变化。 + +{% endnote %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/package_registry/authenticate-packages.md b/translations/zh-CN/data/reusables/package_registry/authenticate-packages.md index a766f6e96d..5ca4e91584 100644 --- a/translations/zh-CN/data/reusables/package_registry/authenticate-packages.md +++ b/translations/zh-CN/data/reusables/package_registry/authenticate-packages.md @@ -4,4 +4,4 @@ You can use a personal access token (PAT) to authenticate to {% data variables.p To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: - `GITHUB_TOKEN` to publish packages associated with the workflow repository. -- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). +- a PAT with at least `packages:read` scope to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md b/translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md deleted file mode 100644 index a54f9a0844..0000000000 --- a/translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md +++ /dev/null @@ -1,11 +0,0 @@ -{% ifversion fpt or ghec or ghes > 3.4 %} - -To authenticate to the {% data variables.product.prodname_container_registry %} within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. If your workflow is using a personal access token (PAT) to authenticate to `{% data reusables.package_registry.container-registry-hostname %}`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. - -{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to `{% data reusables.package_registry.container-registry-hostname %}` with a personal access token, see "[Upgrading a workflow that accesses `ghcr.io`](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio)."{% endif %} - -For more information about the `GITHUB_TOKEN`, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." - -If you're using the {% data variables.product.prodname_container_registry %} in actions, follow our security best practices at "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." - -{% endif %} diff --git a/translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md b/translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md new file mode 100644 index 0000000000..9eb44525c7 --- /dev/null +++ b/translations/zh-CN/data/reusables/package_registry/authenticate_with_pat_for_v2_registry.md @@ -0,0 +1,7 @@ +If your workflow is using a personal access token (PAT) to authenticate to a registry, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. + +{% ifversion fpt or ghec %}For guidance on updating your workflows that authenticate to a registry with a personal access token, see "[Upgrading a workflow that accesses a registry using a PAT](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-a-registry-using-a-pat)."{% endif %} + +有关 `GITHUB_TOKEN` 的更多信息,请参阅“[工作流程中的身份验证](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)”。 + +For more information about the best practises when using a registry in actions, see "[Security hardening for GitHub Actions](/actions/getting-started-with-github-actions/security-hardening-for-github-actions#considering-cross-repository-access)." diff --git a/translations/zh-CN/data/reusables/package_registry/no-graphql-to-delete-packages.md b/translations/zh-CN/data/reusables/package_registry/no-graphql-to-delete-packages.md new file mode 100644 index 0000000000..cbab609f2b --- /dev/null +++ b/translations/zh-CN/data/reusables/package_registry/no-graphql-to-delete-packages.md @@ -0,0 +1 @@ +{% ifversion fpt or ghec %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`, or npm images that use the package namespace `https://npm.pkg.github.com/OWNER/PACKAGE-NAME`.{% endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md b/translations/zh-CN/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md index 313d4af669..eca96c2af5 100644 --- a/translations/zh-CN/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md +++ b/translations/zh-CN/data/reusables/release-notes/ghas-3.4-secret-scanning-known-issue.md @@ -1,16 +1,16 @@ -{% ifversion ghes > 3.1 or ghes < 3.5 %} +{% ifversion ghes < 3.5 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix for 3.5 and later will be available in an upcoming patch release. +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server 3.5 or later may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 when you upgrade from an earlier release to 3.5 or later. A fix will be available in upcoming patch releases. -To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-16] +To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). [Updated: 2022-08-26] -{% elsif ghes > 3.4 or ghes < 3.7 %} +{% elsif ghes = 3.5 or ghes = 3.6 %} -In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ currentVersion }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). +In some cases, GitHub Advanced Security customers who upgrade to GitHub Enterprise Server {{ allVersions[currentVersion].currentRelease }} may notice that alerts from secret scanning are missing in the web UI and REST API. To ensure the alerts remain visible, do not skip 3.4 as you upgrade to the latest release. To plan an upgrade through 3.4, see the [Upgrade assistant](https://support.github.com/enterprise/server-upgrade). - To display the missing alerts for all repositories owned by an organization, organization owners can navigate to the organization's **Code security and analysis** settings, then click **Enable all** for secret scanning. 更多信息请参阅“[管理组织的安全和分析设置](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-existing-repositories)”。 - To display the missing alerts for an individual repository, people with admin access to the repository can disable then enable secret scanning for the repository. 更多信息请参阅“[管理仓库的安全和分析设置](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)”。 -A fix will be available in an upcoming patch release. [Updated: 2022-08-16] +A fix will be available in an upcoming patch release. [Updated: 2022-08-26] {% endif %} diff --git a/translations/zh-CN/data/reusables/secret-scanning/push-protection-web-ui-choice.md b/translations/zh-CN/data/reusables/secret-scanning/push-protection-web-ui-choice.md index 250e5c68e6..933b576cd0 100644 --- a/translations/zh-CN/data/reusables/secret-scanning/push-protection-web-ui-choice.md +++ b/translations/zh-CN/data/reusables/secret-scanning/push-protection-web-ui-choice.md @@ -2,5 +2,12 @@ 您将在页面顶部看到一个横幅,其中包含有关密钥位置的信息,并且密钥也将在文件中加下划线,以便您可以轻松找到它。 +{% ifversion push-protection-custom-link-orgs %} + + ![显示由于机密扫描推送保护而在 Web UI 中阻止提交的屏幕截图](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner-with-link.png) + +{% else %} + ![显示由于机密扫描推送保护而在 Web UI 中阻止提交的屏幕截图](/assets/images/help/repository/secret-scanning-push-protection-web-ui-commit-blocked-banner.png) - \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/translations/zh-CN/data/variables/product.yml b/translations/zh-CN/data/variables/product.yml index 5d09c47040..7e67ff4653 100644 --- a/translations/zh-CN/data/variables/product.yml +++ b/translations/zh-CN/data/variables/product.yml @@ -112,6 +112,10 @@ prodname_registry: 'GitHub Packages' prodname_container_registry: 'Container registry' prodname_docker_registry_namespace: '{% ifversion fpt or ghec %}`docker.pkg.github.com`{% elsif ghes or ghae %}docker.HOSTNAME{% endif %}' prodname_container_registry_namespace: '{% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes or ghae %}containers.HOSTNAME{% endif %}' +prodname_npm_registry: 'npm 注册表' +prodname_ghcr_and_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_or_npm_registry: '{% data variables.product.prodname_container_registry %}{% ifversion packages-npm-v2 %} or {% data variables.product.prodname_npm_registry %}{% endif %}' +prodname_ghcr_and_npm_registry_full: '{% data variables.product.prodname_container_registry %} (`ghcr.io`){% ifversion packages-npm-v2 %} and {% data variables.product.prodname_npm_registry %} (`npm.pkg.github.com`){% endif %}' #GitHub Insights prodname_insights: 'GitHub Insights' #GitHub Sponsors
Runner imageImagen de ejecutor Etiqueta de flujo de trabajo YAML Notas
-Migrate to ubuntu-20.04 or ubuntu-22.04. Para obtener más información, consulta esta publicación del blog de GitHub. +Migrarse a ubuntu-20.04 o ubuntu-22.04. Para obtener más información, consulta esta publicación del blog de GitHub.