diff --git a/content/copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server.md b/content/copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server.md index 8d0d9fde7f30..ea40e4a34f17 100644 --- a/content/copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server.md +++ b/content/copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server.md @@ -198,4 +198,5 @@ The {% data variables.product.github %} MCP server enables you to perform a wide ## Further reading +* [AUTOTITLE](/copilot/tutorials/enhancing-copilot-agent-mode-with-mcp) * [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp) diff --git a/content/copilot/tutorials/enhancing-copilot-agent-mode-with-mcp.md b/content/copilot/tutorials/enhancing-copilot-agent-mode-with-mcp.md new file mode 100644 index 000000000000..9f0f165cea4d --- /dev/null +++ b/content/copilot/tutorials/enhancing-copilot-agent-mode-with-mcp.md @@ -0,0 +1,195 @@ +--- +title: Enhancing Copilot agent mode with MCP +allowTitleToDifferFromFilename: true +shortTitle: Enhance agent mode with MCP +intro: "Learn how to use the Model Context Protocol (MCP) to expand {% data variables.copilot.copilot_chat_short %}''s agentic capabilities." +versions: + feature: copilot +topics: + - Copilot +type: how_to +--- + +>[!NOTE] +> * MCP support is currently in {% data variables.release-phases.public_preview %} and subject to change. +> * MCP support is available in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains, Eclipse, and Xcode. +> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply to your use of this product. + +## About {% data variables.product.prodname_copilot_short %}'s agentic capabilities and MCP + +{% data variables.product.prodname_copilot_short %}'s agentic capabilities refer to the ability to **work independently** by executing multi-step workflows without constant guidance, **make decisions** by choosing appropriate tools and approaches based on context, and **iterate and adapt** by adjusting its approach according to feedback and results. You can access these capabilities by using agent mode. + +When combined with Model Context Protocol (MCP) servers, agent mode becomes significantly more powerful, giving {% data variables.product.prodname_copilot_short %} access to external resources without switching context. This enables {% data variables.product.prodname_copilot_short %} to complete agentic "loops", where it can dynamically adapt its approach by autonomously finding relevant information, analyzing feedback, and making informed decisions. With MCP, {% data variables.product.prodname_copilot_short %} can complete a task with minimal human intervention, continuously adjusting its strategy based on what it discovers. + +### Benefits of combining MCP with agent mode + +When you use MCP servers with agent mode, you unlock several key benefits: + +* **Extended context**: MCP servers provide {% data variables.product.prodname_copilot_short %} with access to external data sources, APIs, and tools. +* **Reduced manual effort**: {% data variables.product.prodname_copilot_short %} can perform tasks like creating issues and running workflows while you focus on higher-value tasks. +* **Seamless integration**: {% data variables.product.prodname_copilot_short %} can work on a task involving multiple tools and platforms without switching contexts or requiring custom integrations. + +## Best practices for using MCP with agent mode + +Follow these best practices to get the most out of combining MCP servers with agent mode. + +### Prompting strategies + +* **Be specific about goals**: Clearly define what you want to accomplish in your prompt and what output you want. +* **Provide context**: Include relevant background information about your project and requirements, including links to external resources that {% data variables.product.prodname_copilot_short %} can access. +* **Set boundaries**: Specify any constraints or limitations for the task. For example, if you want {% data variables.product.prodname_copilot_short %} to only plan a new feature and not make any changes yet, specify that. You can also limit which MCP tools are enabled. +* **Request confirmations**: Ask {% data variables.product.prodname_copilot_short %} to confirm its understanding before proceeding with significant changes. +* **Use prompt files or custom instructions**: You can create prompt files or custom instructions files to guide {% data variables.product.prodname_copilot_short %} on how to behave for different MCP servers. See [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses). + +### MCP server use + +* **Choose relevant servers**: Select and enable MCP servers that align with your specific workflow needs. +* **Start simple**: Begin with a few well-established MCP servers before adding more complex integrations. +* **Test connectivity**: Ensure all MCP servers are properly configured and accessible before starting agent mode tasks. + +### Security considerations + +* **Use OAuth when available**: For MCP servers like {% data variables.product.prodname_dotcom %} MCP, prefer OAuth authentication over {% data variables.product.pat_generic_plural %}. See [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server#remote-mcp-server-configuration-with-oauth). +* **Limit permissions**: Only grant MCP servers the minimum permissions necessary for your tasks. +* **Review connections**: Regularly audit which MCP servers have access to your development environment. +* **Monitor activity**: Keep track of what actions {% data variables.product.prodname_copilot_short %} performs through MCP servers. + +## Example scenario: Implementing accessibility compliance + +> [!NOTE] The following scenario is only meant to demonstrate the patterns and strategies you can use with agent mode and MCP servers to complete a task from start to finish; the scenario, prompts and responses are just examples. + +Let's say your team has received feedback that your customer portal needs to be updated to comply with the latest accessibility standards. You've been tasked with improving accessibility across the application with the following guidance: + +* A list of specifications defined by the design team. +* Issues created in your project's repository after an accessibility audit. + +You can use {% data variables.product.prodname_copilot_short %} agent mode to leverage multiple MCP servers to efficiently implement accessibility improvements. + +The scenario below demonstrates how you can use separate prompts for different phases (research, planning, implementation, and validation), resulting in multiple agentic "loops" loosely aligned with software development lifecycle phases. This approach creates natural checkpoints where you can review progress, provide feedback, and adjust your requirements before {% data variables.product.prodname_copilot_short %} continues to the next phase. + +* [Prerequisites](#prerequisites) +* [Setting up MCP servers](#setting-up-mcp-servers) +* [Step 1: Research loop - Analyzing accessibility requirements](#step-1-research-loop---analyzing-accessibility-requirements) +* [Step 2: Planning loop - Accessibility implementation strategy](#step-2-planning-loop---accessibility-implementation-strategy) +* [Step 3: Implementation loop - Making accessibility improvements](#step-3-implementation-loop---making-accessibility-improvements) +* [Step 4: Testing loop - Accessibility verification with Playwright](#step-4-testing-loop---accessibility-verification-with-playwright) +* [Step 5: Updating {% data variables.product.github %} issues](#step-5-updating-github-issues) +* [Further reading](#further-reading) + +### Prerequisites + +Before using agent mode with MCP, ensure you have: + +* An IDE with {% data variables.product.prodname_copilot_short %} integration and MCP support (such as {% data variables.product.prodname_vscode %}) +* Agent mode enabled +* Access to the required MCP servers you want to use + +### Setting up MCP servers + +First, you need to configure the MCP servers that you anticipate {% data variables.product.prodname_copilot_short %} will need. For this example scenario, we'll use: + +* **{% data variables.product.github %} MCP server**: Configure the {% data variables.product.github %} MCP server to enable {% data variables.product.prodname_copilot_short %} to access your repository, examine your codebase, research existing issues, create branches, and manage pull requests. See [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server). + +* **Figma MCP server**: Configure the Figma MCP server to allow {% data variables.product.prodname_copilot_short %} to access design files that include accessibility specifications, such as color contrast requirements, focus states, and interaction patterns. See [Figma-Context-MCP](https://github.com/GLips/Figma-Context-MCP) or try out the [Dev Mode MCP server](https://help.figma.com/hc/en-us/articles/32132100833559-Guide-to-the-Dev-Mode-MCP-Server) in open beta. + +* **Playwright MCP server**: Set up the Playwright MCP server to enable {% data variables.product.prodname_copilot_short %} to write and run automated accessibility tests, including screen reader compatibility and keyboard navigation tests. See [mcp-playwright](https://github.com/executeautomation/mcp-playwright). + +### Step 1: Research loop - Analyzing accessibility requirements + +Prompt {% data variables.product.prodname_copilot_short %} to analyze both accessibility requirements and existing accessibility-related {% data variables.product.github %} issues in the project. + +In your prompt, include a link to the Figma file. In order for Copilot to successfully read and analyze the design specifications, select a specific node or layer in the file, so that the node ID is included in the URL. + +**Example prompt**: `I need to make our customer portal WCAG 2.1 AA compliant. Use the Figma MCP to analyze our design specifications at https://figma.com/design/DESIGN-FILE-FOR-ACCESSIBILITY-SPECS?node-id=NODE_ID for accessibility requirements. Also use the GitHub MCP to find open GitHub issues with the labels accessibility or WCAG in the customer-portal repository. Then sort them into categories and list each issue that falls under the category with the issue title and number.` + +**Example response from {% data variables.product.prodname_copilot_short %}:** + +{% data variables.product.prodname_copilot_short %} should respond first by requesting to run tools from the Figma and GitHub MCP servers. Once you allow it, {% data variables.product.prodname_copilot_short %} will analyze the Figma design specifications and search for and organize GitHub issues into categories. + +For example, {% data variables.product.prodname_copilot_short %} may identify color contrast as a category based on finding multiple issues about it. + +> * Color Contrast Issues +> * Issue #134: Dashboard text contrast ratio below 4.5:1 +> * Issue #156: Form error states don't meet contrast requirements + +This gives you a comprehensive overview of accessibility requirements that you can then have {% data variables.product.prodname_copilot_short %} prioritize and create a plan for. + +### Step 2: Planning loop - Accessibility implementation strategy + +Next, ask {% data variables.product.prodname_copilot_short %} to create a detailed implementation plan. + +**Example prompt**: `Based on your accessibility analysis of our Figma designs and GitHub issues, create a focused implementation plan for an immediate pull request addressing the highest priority accessibility issues. Don't make any changes yet. Also suggest follow-up issues we should create for the remaining Figma specifications.` + +**Example response from {% data variables.product.prodname_copilot_short %}:** + +{% data variables.product.prodname_copilot_short %} will respond by creating a prioritized implementation plan focused on high-impact accessibility issues for an immediate pull request while suggesting follow-up issues for remaining work. + +For example, {% data variables.product.prodname_copilot_short %} may identify what needs to be done to fix the issues in the color contrast category. + +> * **1. Color Contrast Fixes:** +> * Update text color variables in variables.scss to ensure 4.5:1 contrast ratio for all normal text +> * Modify UI component colors in DashboardCard.vue and other primary components to meet 3:1 contrast ratio +> * Prioritize fixing Issue #134 (Dashboard text contrast) and Issue #156 (Form error states) + +You can ask {% data variables.product.prodname_copilot_short %} to adjust the plan based on what you want to focus on. The outcome is a plan you are comfortable with that you can now ask {% data variables.product.prodname_copilot_short %} to implement. + +### Step 3: Implementation loop - Making accessibility improvements + +After reviewing the plan, prompt {% data variables.product.prodname_copilot_short %} to begin implementing accessibility fixes. + +**Example prompt**: `Create a new branch and implement the critical accessibility fixes according to your proposed implementation plan. Focus on the top three categories that you identified as highest priority. Create a pull request with proper references to the issues being fixed.` + +**Example response from {% data variables.product.prodname_copilot_short %}:** + +{% data variables.product.prodname_copilot_short %} will respond by executing the implementation plan, making targeted code changes to address the identified accessibility issues and creating a pull request. + +For example, {% data variables.product.prodname_copilot_short %} may create a new branch called `fix/critical-accessibility-issues` and make changes to address the color contrast issues. + +> * Fixed dashboard text contrast issues (Issue #134): +> * Updated text color variables in `src/styles/variables.scss` from #767676 to #595959 +> * Modified dark text on light gray backgrounds in `DashboardCard.vue` to ensure 4.5:1 ratio +> +>I've opened pull request #213 with these changes. + +### Step 4: Testing loop - Accessibility verification with Playwright + +You can prompt {% data variables.product.prodname_copilot_short %} to create and run accessibility tests using the Playwright MCP. + +**Example prompt**: `Create focused accessibility tests for the components we've updated in the pull request. Use the Playwright MCP.` + +**Example response from {% data variables.product.prodname_copilot_short %}:** + +{% data variables.product.prodname_copilot_short %} will respond by developing accessibility tests and, if necessary, creating a Playwright configuration file. + +For example, {% data variables.product.prodname_copilot_short %} may create a test file around text contrast. + +> **Test implementation:** +> +> * Created a targeted test file in `tests/accessibility/`: +> * `contrast.spec.ts` - Validates text contrast ratios + +Once the tests are created, {% data variables.product.prodname_copilot_short %} will ask for permission to use various tools from the Playwright MCP to run the tests. Note that sometimes Copilot may do additional testing that you didn't necessarily ask for; you can try to prevent this by adjusting your prompt to be stricter. + +### Step 5: Updating {% data variables.product.github %} issues + +Finally, prompt {% data variables.product.prodname_copilot_short %} to update the {% data variables.product.github %} issues that have been addressed in the pull request, and create follow-up issues. + +**Example prompt**: `Update the GitHub issues we've fixed in the pull request with comments summarizing the changes. Create the follow-up issues you suggested for the remaining accessibility work.` + +**Example response from {% data variables.product.prodname_copilot_short %}:** + +{% data variables.product.prodname_copilot_short %} will respond by asking for permission to use the necessary tools from the {% data variables.product.github %} MCP server. It will then update the {% data variables.product.github %} issues with detailed comments and create structured follow-up issues for remaining work. + +For example, {% data variables.product.prodname_copilot_short %} will add comments in the color contrast issues initially identified in the research step. + +> **Updated issues with comments:** +> +> * Issue #134: "Dashboard text contrast ratio below 4.5:1" +> * Comment: "Fixed in PR #213 by updating text color variables in variables.scss and DashboardCard component. All dashboard text now meets 4.5:1 contrast ratio, verified by automated tests." + +Now you can review the pull request and make any adjustments. Once you have verified that the changes are valid, you can merge as with any other pull request. + +## Further reading + +* **Hands-on practice**: Try the [Integrate MCP with Copilot](https://github.com/skills/integrate-mcp-with-copilot/) Skills course for practical experience with MCP and agent mode. +* **MCP fundamentals**: For more information about setting up and configuring MCP servers, see [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/extending-copilot-chat-with-mcp). diff --git a/content/copilot/tutorials/index.md b/content/copilot/tutorials/index.md index e9c5b323e584..5e6222a27ec4 100644 --- a/content/copilot/tutorials/index.md +++ b/content/copilot/tutorials/index.md @@ -10,6 +10,7 @@ children: - /copilot-chat-cookbook - /choosing-the-right-ai-tool-for-your-task - /comparing-ai-models-using-different-tasks + - /enhancing-copilot-agent-mode-with-mcp - /speeding-up-development-work-with-copilot-spaces - /using-copilot-to-explore-a-codebase - /writing-tests-with-github-copilot diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json index 3f6ad214da88..42770196727c 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json @@ -5376,6 +5376,12 @@ "verb": "get", "requestPath": "/users" }, + { + "slug": "list-attestations-by-bulk-subject-digests", + "subcategory": "attestations", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json index 8e8b4a1fed33..748c841742b3 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json @@ -4692,6 +4692,12 @@ "verb": "get", "requestPath": "/users" }, + { + "slug": "list-attestations-by-bulk-subject-digests", + "subcategory": "attestations", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json index 3f6ad214da88..42770196727c 100644 --- a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json @@ -5376,6 +5376,12 @@ "verb": "get", "requestPath": "/users" }, + { + "slug": "list-attestations-by-bulk-subject-digests", + "subcategory": "attestations", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json index 292c403e958c..8f5bc9c4171c 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json @@ -5856,6 +5856,12 @@ "verb": "get", "requestPath": "/users" }, + { + "slug": "list-attestations-by-bulk-subject-digests", + "subcategory": "attestations", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json index 75a0878df988..3eebdb0b992f 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json @@ -5142,6 +5142,12 @@ "verb": "get", "requestPath": "/users" }, + { + "slug": "list-attestations-by-bulk-subject-digests", + "subcategory": "attestations", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json index 292c403e958c..8f5bc9c4171c 100644 --- a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json @@ -5856,6 +5856,12 @@ "verb": "get", "requestPath": "/users" }, + { + "slug": "list-attestations-by-bulk-subject-digests", + "subcategory": "attestations", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list" + }, { "slug": "delete-attestations-in-bulk", "subcategory": "attestations", diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat-permissions.json index 5a38242f1300..47abfaf6d278 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat-permissions.json @@ -1200,15 +1200,6 @@ "additional-permissions": false, "access": "read" }, - { - "category": "private-registries", - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries", - "additional-permissions": false, - "access": "write" - }, { "category": "private-registries", "slug": "get-private-registries-public-key-for-an-organization", diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json index 3ff5f9c1dd97..ecc8a1e7f9a7 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json @@ -3274,12 +3274,6 @@ "verb": "get", "requestPath": "/orgs/{org}/private-registries" }, - { - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries" - }, { "slug": "get-private-registries-public-key-for-an-organization", "subcategory": "organization-configurations", diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-permissions.json index e2b53b051dc8..d3270373cf39 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-permissions.json @@ -1454,17 +1454,6 @@ "server-to-server": true, "additional-permissions": false }, - { - "category": "private-registries", - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries", - "access": "write", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, { "category": "private-registries", "slug": "get-private-registries-public-key-for-an-organization", diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json index 3436cee1473e..eb48071c7b9a 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json @@ -3098,12 +3098,6 @@ "verb": "get", "requestPath": "/orgs/{org}/private-registries" }, - { - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries" - }, { "slug": "get-private-registries-public-key-for-an-organization", "subcategory": "organization-configurations", diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json index 3ff5f9c1dd97..ecc8a1e7f9a7 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json @@ -3274,12 +3274,6 @@ "verb": "get", "requestPath": "/orgs/{org}/private-registries" }, - { - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries" - }, { "slug": "get-private-registries-public-key-for-an-organization", "subcategory": "organization-configurations", diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat-permissions.json index 8ad35f6515ee..e29e193293da 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat-permissions.json @@ -1209,15 +1209,6 @@ "additional-permissions": false, "access": "read" }, - { - "category": "private-registries", - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries", - "additional-permissions": false, - "access": "write" - }, { "category": "private-registries", "slug": "get-private-registries-public-key-for-an-organization", diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json index fdbd0925b9fb..d1df4552e0ef 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json @@ -3280,12 +3280,6 @@ "verb": "get", "requestPath": "/orgs/{org}/private-registries" }, - { - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries" - }, { "slug": "get-private-registries-public-key-for-an-organization", "subcategory": "organization-configurations", diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-permissions.json index 646c451b35cd..5bde08a9e536 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-permissions.json @@ -1465,17 +1465,6 @@ "server-to-server": true, "additional-permissions": false }, - { - "category": "private-registries", - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries", - "access": "write", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, { "category": "private-registries", "slug": "get-private-registries-public-key-for-an-organization", diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json index a8fab5ae312d..7c35d4f5f793 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json @@ -3104,12 +3104,6 @@ "verb": "get", "requestPath": "/orgs/{org}/private-registries" }, - { - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries" - }, { "slug": "get-private-registries-public-key-for-an-organization", "subcategory": "organization-configurations", diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json index fdbd0925b9fb..d1df4552e0ef 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json @@ -3280,12 +3280,6 @@ "verb": "get", "requestPath": "/orgs/{org}/private-registries" }, - { - "slug": "create-a-private-registry-for-an-organization", - "subcategory": "organization-configurations", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries" - }, { "slug": "get-private-registries-public-key-for-an-organization", "subcategory": "organization-configurations", diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 46540378e7de..e6073ba1720f 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "bbde2eea32cd8cfb2ef5e7508268bc60c70c8025" + "sha": "3ae8ad33b4276583395c1b28852650f329018927" } \ No newline at end of file diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index a4067854e0e6..5a2da7e4f6eb 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -411013,7 +411013,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -413572,7 +413572,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -414947,7 +414947,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -417512,7 +417512,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -437450,6 +437450,13 @@ "goproxy_server" ] }, + { + "type": "string", + "name": "url", + "in": "body", + "description": "
The URL of the private registry.
", + "isRequired": true + }, { "type": "string or null", "name": "username", @@ -437508,6 +437515,7 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", "username": "monalisa", "encrypted_value": "c2VjcmV0", "key_id": "012345678912345678", @@ -437604,6 +437612,7 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", "username": "monalisa", "encrypted_value": "c2VjcmV0", "key_id": "012345678912345678", @@ -437969,6 +437978,12 @@ "goproxy_server" ] }, + { + "type": "string", + "name": "url", + "in": "body", + "description": "The URL of the private registry.
" + }, { "type": "string or null", "name": "username", @@ -544626,7 +544641,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -546136,7 +546151,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -548519,7 +548534,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -549905,7 +549920,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -552294,7 +552309,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -623395,6 +623410,304 @@ } ], "attestations": [ + { + "serverUrl": "https://api.github.com", + "verb": "post", + "requestPath": "/users/{username}/attestations/bulk-list", + "title": "List attestations by bulk subject digests", + "category": "users", + "subcategory": "attestations", + "parameters": [ + { + "name": "per_page", + "description": "The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "before", + "description": "A cursor, as given in the Link header. If specified, the query only searches for results before this cursor. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "after", + "description": "A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "username", + "description": "The handle for the GitHub user account.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "subject_digests", + "in": "body", + "description": "List of subject digests to fetch attestations for.
", + "isRequired": true + }, + { + "type": "string", + "name": "predicate_type", + "in": "body", + "description": "Optional filter for fetching attestations with a given predicate type.\nThis option accepts provenance
, sbom
, or freeform text for custom predicate types.
Response
", + "example": { + "attestations_subject_digests": [ + { + "sha256:abc": [ + { + "bundle": { + "mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", + "verificationMaterial": { + "tlogEntries": [ + { + "logIndex": "97913980", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "dsse", + "version": "0.0.1" + }, + "integratedTime": "1716998992", + "inclusionPromise": { + "signedEntryTimestamp": "MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL" + }, + "inclusionProof": { + "logIndex": "93750549", + "rootHash": "KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=", + "treeSize": "93750551", + "hashes": [ + "8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg=", + "nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck=", + "hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A=", + "MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM=", + "XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc=", + "Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY=", + "wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU=", + "uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s=", + "jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs=", + "xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ=", + "cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc=", + "sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ=", + "98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8=" + ], + "checkpoint": { + "envelope": "rekor.sigstore.dev - 2605736670972794746\\n93750551\\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\\n\\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\\n" + } + }, + "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0=" + } + ], + "timestampVerificationData": {}, + "certificate": { + "rawBytes": "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" + } + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ==" + } + ] + } + }, + "repository_id": 1 + }, + { + "bundle": { + "mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", + "verificationMaterial": { + "tlogEntries": [ + { + "logIndex": "97913980", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "dsse", + "version": "0.0.1" + }, + "integratedTime": "1716998992", + "inclusionPromise": { + "signedEntryTimestamp": "MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL" + }, + "inclusionProof": { + "logIndex": "93750549", + "rootHash": "KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=", + "treeSize": "93750551", + "hashes": [ + "8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg=", + "nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck=", + "hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A=", + "MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM=", + "XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc=", + "Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY=", + "wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU=", + "uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s=", + "jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs=", + "xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ=", + "cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc=", + "sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ=", + "98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8=" + ], + "checkpoint": { + "envelope": "rekor.sigstore.dev - 2605736670972794746\\n93750551\\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\\n\\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\\n" + } + }, + "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0=" + } + ], + "timestampVerificationData": {}, + "certificate": { + "rawBytes": "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" + } + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ==" + } + ] + } + }, + "repository_id": 1 + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "attestations_subject_digests": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "bundle": { + "type": "object", + "properties": { + "mediaType": { + "type": "string" + }, + "verificationMaterial": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "dsseEnvelope": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + }, + "description": "The bundle of the attestation." + }, + "repository_id": { + "type": "integer" + }, + "bundle_url": { + "type": "string" + } + } + } + }, + "description": "Mapping of subject digest to bundles." + }, + "page_info": { + "type": "object", + "properties": { + "has_next": { + "type": "boolean", + "description": "Indicates whether there is a next page." + }, + "has_previous": { + "type": "boolean", + "description": "Indicates whether there is a previous page." + }, + "next": { + "type": "string", + "description": "The cursor to the next page." + }, + "previous": { + "type": "string", + "description": "The cursor to the previous page." + } + }, + "description": "Information about the current page." + } + } + } + } + } + ], + "previews": [], + "descriptionHTML": "List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user.
\nThe collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the attestations:read
permission is required.
Please note: in order to offer meaningful security benefits, an attestation's signature and timestamps must be cryptographically verified, and the identity of the attestation signer must be validated. Attestations can be verified using the GitHub CLI attestation verify
command. For more information, see our guide on how to use artifact attestations to establish a build's provenance.
OK
" + } + ] + }, { "serverUrl": "https://api.github.com", "verb": "post", @@ -628235,6 +628548,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index e454934b2b7d..28534d3c88ff 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -276,13 +276,13 @@ } ], "previews": [], + "descriptionHTML": "Lists all artifacts for a repository.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
OK
" } - ], - "descriptionHTML": "Lists all artifacts for a repository.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nAnyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nAnyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Updates a GitHub-hosted runner for an organization.\nOAuth app tokens and personal access tokens (classic) need the manage_runners:org
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Updates a GitHub-hosted runner for an organization.\nOAuth app tokens and personal access tokens (classic) need the manage_runners:org
scope to use this endpoint.
Gets the customization template for an OpenID Connect (OIDC) subject claim.
\nOAuth app tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
A JSON serialized template for OIDC subject claim customization
" } - ], - "descriptionHTML": "Gets the customization template for an OpenID Connect (OIDC) subject claim.
\nOAuth app tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for a repository.\"
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for a repository.\"
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Deletes a secret in an organization using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org
scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a secret in an organization using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need theadmin:org
scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility
set to selected
. For more information, see \"Create a self-hosted runner group for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility
set to selected
. For more information, see \"Create a self-hosted runner group for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Replaces the list of self-hosted runners that are part of an enterprise runner group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Replaces the list of self-hosted runners that are part of an enterprise runner group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Adds a self-hosted runner to a runner group configured in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Adds a self-hosted runner to a runner group configured in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Deletes a self-hosted runner group for an organization.
\nOAuth tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a self-hosted runner group for an organization.
\nOAuth tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have visibility
set to selected
. For more information, see \"Create a self-hosted runner group for an organization.\"
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have visibility
set to selected
. For more information, see \"Create a self-hosted runner group for an organization.\"
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Replaces the list of self-hosted runners that are part of an organization runner group.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Replaces the list of self-hosted runners that are part of an organization runner group.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Lists binaries for the runner application that you can download and run.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
OK
" } - ], - "descriptionHTML": "Lists binaries for the runner application that you can download and run.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
Gets a specific self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
OK
" } - ], - "descriptionHTML": "Gets a specific self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
Lists all labels for a self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
Resource not found
" } - ], - "descriptionHTML": "Lists all labels for a self-hosted runner configured in an organization.
\nAuthenticated users must have admin access to the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
Gets a specific self-hosted runner configured in a repository.
\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a specific self-hosted runner configured in a repository.
\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Lists all organization variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
OK
" } - ], - "descriptionHTML": "Lists all organization variables.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint. If the repository is private, the repo
scope is also required.
Deletes a specific workflow run.
\nAnyone with write access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Deletes a specific workflow run.
\nAnyone with write access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Cancels a workflow run using its id
.
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Conflict
" } - ], - "descriptionHTML": "Cancels a workflow run using its id
.
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Removes the announcement banner currently set for the enterprise.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ], - "descriptionHTML": "Removes the announcement banner currently set for the enterprise.
" + ] } ], "organizations": [ @@ -97445,13 +97445,13 @@ } ], "previews": [], + "descriptionHTML": "Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the installations_count
in the response. For more details about your app's installations, see the \"List installations for the authenticated app\" endpoint.
You must use a JWT to access this endpoint.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the installations_count
in the response. For more details about your app's installations, see the \"List installations for the authenticated app\" endpoint.
You must use a JWT to access this endpoint.
" + ] }, { "serverUrl": "https://api.github.com", @@ -183696,6 +183696,7 @@ } ], "previews": [], + "descriptionHTML": "Gets a code security configuration available in an enterprise.
\nThe authenticated user must be an administrator of the enterprise in order to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:enterprise
scope to use this endpoint.
Resource not found
" } - ], - "descriptionHTML": "Gets a code security configuration available in an enterprise.
\nThe authenticated user must be an administrator of the enterprise in order to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:enterprise
scope to use this endpoint.
For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.
\nTeam members will include the members of child teams.
\nThe authenticated user must have push access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:org
and repo
scopes to use this endpoint.
Not Found if user is not a collaborator
" } - ], - "descriptionHTML": "For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.
\nTeam members will include the members of child teams.
\nThe authenticated user must have push access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the read:org
and repo
scopes to use this endpoint.
Removes a collaborator from a repository.
\nTo use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal.
\nThis endpoint also:
\nRemoving a user as a collaborator has the following effects on forks:
\nNote
\n\nA user can still have access to the repository through organization permissions like base repository permissions.
\nAlthough the API responds immediately, the additional permission updates might take some extra time to complete in the background.
\nFor more information on fork permissions, see \"About permissions and visibility of forks\".
", "statusCodes": [ { "httpStatusCode": "204", @@ -232357,8 +232358,7 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Removes a collaborator from a repository.
\nTo use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal.
\nThis endpoint also:
\nRemoving a user as a collaborator has the following effects on forks:
\nNote
\n\nA user can still have access to the repository through organization permissions like base repository permissions.
\nAlthough the API responds immediately, the additional permission updates might take some extra time to complete in the background.
\nFor more information on fork permissions, see \"About permissions and visibility of forks\".
" + ] }, { "serverUrl": "https://api.github.com", @@ -266941,13 +266941,13 @@ } ], "previews": [], + "descriptionHTML": "Lists all repositories that have been selected when the visibility
\nfor repository access to a secret is set to selected
.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all repositories that have been selected when the visibility
\nfor repository access to a secret is set to selected
.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nThe authenticated user must be an enterprise admin.
\nNote
\n\nThis endpoint is available to enterprise customers who are using the legacy billing platform.
\nOK
" } - ], - "descriptionHTML": "Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
\nPaid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"
\nThe authenticated user must be an enterprise admin.
\nNote
\n\nThis endpoint is available to enterprise customers who are using the legacy billing platform.
\nGet Hypermedia links to resources accessible in GitHub's REST API
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get Hypermedia links to resources accessible in GitHub's REST API
" + ] }, { "serverUrl": "https://api.github.com", @@ -425927,13 +425927,13 @@ } ], "previews": [], + "descriptionHTML": "Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.
\nThe authenticated user must be an organization owner to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:read
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Lists all GitHub Apps in an organization. The installation count includes\nall GitHub Apps installed on repositories in the organization.
\nThe authenticated user must be an organization owner to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:read
scope to use this endpoint.
Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user.
" + ] }, { "serverUrl": "https://api.github.com", @@ -428265,13 +428265,13 @@ } ], "previews": [], + "descriptionHTML": "List the users blocked by an organization.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "List the users blocked by an organization.
" + ] }, { "serverUrl": "https://api.github.com", @@ -435836,6 +435836,7 @@ } ], "previews": [], + "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
", "statusCodes": [ { "httpStatusCode": "204", @@ -435845,8 +435846,7 @@ "httpStatusCode": "403", "description": "Forbidden
" } - ], - "descriptionHTML": "Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
" + ] }, { "serverUrl": "https://api.github.com", @@ -436748,6 +436748,7 @@ } ], "previews": [], + "descriptionHTML": "Only authenticated organization owners can add a member to the organization or update the member's role.
\nIf the authenticated user is adding a member to the organization, the invited user will receive an email inviting them to the organization. The user's membership status will be pending
until they accept the invitation.
Authenticated users can update a user's membership by passing the role
parameter. If the authenticated user changes a member's role to admin
, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to member
, no email will be sent.
Rate limits
\nTo prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.
", "statusCodes": [ { "httpStatusCode": "200", @@ -436761,8 +436762,7 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ], - "descriptionHTML": "Only authenticated organization owners can add a member to the organization or update the member's role.
\nIf the authenticated user is adding a member to the organization, the invited user will receive an email inviting them to the organization. The user's membership status will be pending
until they accept the invitation.
Authenticated users can update a user's membership by passing the role
parameter. If the authenticated user changes a member's role to admin
, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to member
, no email will be sent.
Rate limits
\nTo prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.
" + ] }, { "serverUrl": "https://api.github.com", @@ -437296,13 +437296,13 @@ } ], "previews": [], + "descriptionHTML": "Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ], - "descriptionHTML": "Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.
" + ] }, { "serverUrl": "https://api.github.com", @@ -439029,13 +439029,13 @@ } ], "previews": [], + "descriptionHTML": "Creates a hosted compute network configuration for an organization.
\nOAuth app tokens and personal access tokens (classic) need the write:network_configurations
scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Creates a hosted compute network configuration for an organization.
\nOAuth app tokens and personal access tokens (classic) need the write:network_configurations
scope to use this endpoint.
Gets a hosted compute network settings resource configured for an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:network_configurations
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "Gets a hosted compute network settings resource configured for an organization.
\nOAuth app tokens and personal access tokens (classic) need the read:network_configurations
scope to use this endpoint.
List all users who are outside collaborators of an organization.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ], - "descriptionHTML": "List all users who are outside collaborators of an organization.
" + ] }, { "serverUrl": "https://api.github.com", @@ -442837,6 +442837,7 @@ } ], "previews": [], + "descriptionHTML": "Removing a user from this list will remove them from all the organization's repositories.
", "statusCodes": [ { "httpStatusCode": "204", @@ -442846,8 +442847,7 @@ "httpStatusCode": "422", "description": "Unprocessable Entity if user is a member of the organization
" } - ], - "descriptionHTML": "Removing a user from this list will remove them from all the organization's repositories.
" + ] } ], "personal-access-tokens": [ @@ -448062,7 +448062,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -450623,7 +450623,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -451999,7 +451999,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -454566,7 +454566,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -455447,13 +455447,13 @@ } ], "previews": [], + "descriptionHTML": "Warning
\n\nClosing down notice: This operation is closing down and will be removed starting January 1, 2026. Please use the \"Organization Roles\" endpoints instead.
\nNo Content
" } - ], - "descriptionHTML": "Warning
\n\nClosing down notice: This operation is closing down and will be removed starting January 1, 2026. Please use the \"Organization Roles\" endpoints instead.
\nYou must be an organization owner or have the \"Manage organization webhooks\" permission to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit webhooks\nthat they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
Resource not found
" } - ], - "descriptionHTML": "You must be an organization owner or have the \"Manage organization webhooks\" permission to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit webhooks\nthat they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
The URL of the private registry.
", + "isRequired": true + }, { "type": "string or null", "name": "username", @@ -474676,6 +474683,7 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", "username": "monalisa", "encrypted_value": "c2VjcmV0", "key_id": "012345678912345678", @@ -474772,6 +474780,7 @@ "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", "username": "monalisa", "encrypted_value": "c2VjcmV0", "key_id": "012345678912345678", @@ -475137,6 +475146,12 @@ "goproxy_server" ] }, + { + "type": "string", + "name": "url", + "in": "body", + "description": "The URL of the private registry.
" + }, { "type": "string or null", "name": "username", @@ -522799,13 +522814,13 @@ } ], "previews": [], + "descriptionHTML": "Note
\n\nYou can also specify a team or organization with team_id
and org_id
using the route DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id
.
Delete a reaction to a team discussion comment.
\nOAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Note
\n\nYou can also specify a team or organization with team_id
and org_id
using the route DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id
.
Delete a reaction to a team discussion comment.
\nOAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
List the reactions to a commit comment.
", "statusCodes": [ { "httpStatusCode": "200", @@ -524234,8 +524250,7 @@ "httpStatusCode": "404", "description": "Resource not found
" } - ], - "descriptionHTML": "List the reactions to a commit comment.
" + ] }, { "serverUrl": "https://api.github.com", @@ -530651,13 +530666,13 @@ } ], "previews": [], + "descriptionHTML": "Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Create reaction for a team discussion
endpoint.
Create a reaction to a team discussion.
\nA response with an HTTP 200
status means that you already added the reaction type to this team discussion.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
Created
" } - ], - "descriptionHTML": "Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Create reaction for a team discussion
endpoint.
Create a reaction to a team discussion.
\nA response with an HTTP 200
status means that you already added the reaction type to this team discussion.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
OK
" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "https://uploads.github.com", @@ -582857,7 +582872,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -584368,7 +584383,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -586753,7 +586768,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -588140,7 +588155,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -590531,7 +590546,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -616372,6 +616387,7 @@ } ], "previews": [], + "descriptionHTML": "Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware.
\nBy default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the type
parameter in your request, with the value malware
. For more information about the different types of security advisories, see \"About the GitHub Advisory database.\"
Too many requests
" } - ], - "descriptionHTML": "Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware.
\nBy default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the type
parameter in your request, with the value malware
. For more information about the different types of security advisories, see \"About the GitHub Advisory database.\"
Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier.
", "statusCodes": [ { "httpStatusCode": "200", @@ -617135,8 +617151,7 @@ "httpStatusCode": "404", "description": "Resource not found
" } - ], - "descriptionHTML": "Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier.
" + ] } ], "repository-advisories": [ @@ -642184,13 +642199,13 @@ } ], "previews": [], + "descriptionHTML": "To delete a team, the authenticated user must be an organization owner or team maintainer.
\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route DELETE /organizations/{org_id}/team/{team_id}
.
No Content
" } - ], - "descriptionHTML": "To delete a team, the authenticated user must be an organization owner or team maintainer.
\nIf you are an organization owner, deleting a parent team will delete all of its child teams as well.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route DELETE /organizations/{org_id}/team/{team_id}
.
Warning
\n\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.
\nOK
" } - ], - "descriptionHTML": "Warning
\n\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.
\nDelete a discussion from a team's page.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
No Content
" } - ], - "descriptionHTML": "Delete a discussion from a team's page.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty groups
array will remove all connections for a team.
Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see GitHub's products in the GitHub Help documentation.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings
.
OK
" } - ], - "descriptionHTML": "Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty groups
array will remove all connections for a team.
Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see GitHub's products in the GitHub Help documentation.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings
.
The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "before", + "description": "A cursor, as given in the Link header. If specified, the query only searches for results before this cursor. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "after", + "description": "A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see \"Using pagination in the REST API.\"
", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "username", + "description": "The handle for the GitHub user account.
", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "subject_digests", + "in": "body", + "description": "List of subject digests to fetch attestations for.
", + "isRequired": true + }, + { + "type": "string", + "name": "predicate_type", + "in": "body", + "description": "Optional filter for fetching attestations with a given predicate type.\nThis option accepts provenance
, sbom
, or freeform text for custom predicate types.
Response
", + "example": { + "attestations_subject_digests": [ + { + "sha256:abc": [ + { + "bundle": { + "mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", + "verificationMaterial": { + "tlogEntries": [ + { + "logIndex": "97913980", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "dsse", + "version": "0.0.1" + }, + "integratedTime": "1716998992", + "inclusionPromise": { + "signedEntryTimestamp": "MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL" + }, + "inclusionProof": { + "logIndex": "93750549", + "rootHash": "KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=", + "treeSize": "93750551", + "hashes": [ + "8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg=", + "nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck=", + "hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A=", + "MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM=", + "XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc=", + "Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY=", + "wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU=", + "uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s=", + "jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs=", + "xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ=", + "cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc=", + "sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ=", + "98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8=" + ], + "checkpoint": { + "envelope": "rekor.sigstore.dev - 2605736670972794746\\n93750551\\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\\n\\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\\n" + } + }, + "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0=" + } + ], + "timestampVerificationData": {}, + "certificate": { + "rawBytes": "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" + } + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ==" + } + ] + } + }, + "repository_id": 1 + }, + { + "bundle": { + "mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", + "verificationMaterial": { + "tlogEntries": [ + { + "logIndex": "97913980", + "logId": { + "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0=" + }, + "kindVersion": { + "kind": "dsse", + "version": "0.0.1" + }, + "integratedTime": "1716998992", + "inclusionPromise": { + "signedEntryTimestamp": "MEYCIQCeEsQAy+qXtULkh52wbnHrkt2R2JQ05P9STK/xmdpQ2AIhANiG5Gw6cQiMnwvUz1+9UKtG/vlC8dduq07wsFOViwSL" + }, + "inclusionProof": { + "logIndex": "93750549", + "rootHash": "KgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=", + "treeSize": "93750551", + "hashes": [ + "8LI21mzwxnUSo0fuZeFsUrz2ujZ4QAL+oGeTG+5toZg=", + "nCb369rcIytNhGwWoqBv+eV49X3ZKpo/HJGKm9V+dck=", + "hnNQ9mUdSwYCfdV21pd87NucrdRRNZATowlaRR1hJ4A=", + "MBhhK33vlD4Tq/JKgAaXUI4VjmosWKe6+7RNpQ2ncNM=", + "XKWUE3stvGV1OHsIGiCGfn047Ok6uD4mFkh7BaicaEc=", + "Tgve40VPFfuei+0nhupdGpfPPR+hPpZjxgTiDT8WNoY=", + "wV+S/7tLtYGzkLaSb6UDqexNyhMvumHK/RpTNvEZuLU=", + "uwaWufty6sn6XqO1Tb9M3Vz6sBKPu0HT36mStxJNd7s=", + "jUfeMOXQP0XF1JAnCEETVbfRKMUwCzrVUzYi8vnDMVs=", + "xQKjzJAwwdlQG/YUYBKPXxbCmhMYKo1wnv+6vDuKWhQ=", + "cX3Agx+hP66t1ZLbX/yHbfjU46/3m/VAmWyG/fhxAVc=", + "sjohk/3DQIfXTgf/5XpwtdF7yNbrf8YykOMHr1CyBYQ=", + "98enzMaC+x5oCMvIZQA5z8vu2apDMCFvE/935NfuPw8=" + ], + "checkpoint": { + "envelope": "rekor.sigstore.dev - 2605736670972794746\\n93750551\\nKgKiXoOl8rM5d4y6Xlbm2QLftvj/FYvTs6z7dJlNO60=\\n\\n— rekor.sigstore.dev wNI9ajBEAiBkLzdjY8A9HReU7rmtjwZ+JpSuYtEr9SmvSwUIW7FBjgIgKo+vhkW3tqc+gc8fw9gza3xLoncA8a+MTaJYCaLGA9c=\\n" + } + }, + "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiM2I1YzkwNDk5MGFiYzE4NjI1ZWE3Njg4MzE1OGEwZmI4MTEwMjM4MGJkNjQwZjI5OWJlMzYwZWVkOTMxNjYwYiJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM4ZGNlZDJjMzE1MGU2OTQxMDViYjZiNDNjYjY3NzBiZTYzZDdhNGM4NjNiMTc2YTkwMmU1MGQ5ZTAyN2ZiMjMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lFR0lHQW03Z1pWTExwc3JQY2puZEVqaXVjdEUyL2M5K2o5S0d2YXp6M3JsQWlBZDZPMTZUNWhrelJNM0liUlB6bSt4VDQwbU5RWnhlZmQ3bGFEUDZ4MlhMUT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VkcVZFTkRRbWhUWjBGM1NVSkJaMGxWVjFsNGNVdHpjazFUTTFOMmJEVkphalZQUkdaQ1owMUtUeTlKZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwUmQwNVVTVFZOVkZsM1QxUlZlVmRvWTA1TmFsRjNUbFJKTlUxVVdYaFBWRlY1VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVmtiV2RvVGs1M00yNVZMMHQxWlZGbmMzQkhTRmMzWjJnNVdFeEVMMWRrU1RoWlRVSUtLekJ3TUZZMGJ6RnJTRzgyWTAweGMwUktaM0pEWjFCUlZYcDRjSFZaZFc4cmVIZFFTSGxzTDJ0RWVXWXpSVXhxYTJGUFEwSlVUWGRuWjFWMlRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVnhaa05RQ25aWVMwRjJVelJEWkdoUk1taGlXbGRLVTA5RmRsWnZkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMWRuV1VSV1VqQlNRVkZJTDBKR1FYZFViMXBOWVVoU01HTklUVFpNZVRsdVlWaFNiMlJYU1hWWk1qbDBUREpPYzJGVE9XcGlSMnQyVEcxa2NBcGtSMmd4V1drNU0ySXpTbkphYlhoMlpETk5kbHBIVm5kaVJ6azFZbGRXZFdSRE5UVmlWM2hCWTIxV2JXTjVPVzlhVjBaclkzazVNR051Vm5WaGVrRTFDa0puYjNKQ1owVkZRVmxQTDAxQlJVSkNRM1J2WkVoU2QyTjZiM1pNTTFKMllUSldkVXh0Um1wa1IyeDJZbTVOZFZveWJEQmhTRlpwWkZoT2JHTnRUbllLWW01U2JHSnVVWFZaTWpsMFRVSTRSME5wYzBkQlVWRkNaemM0ZDBGUlNVVkZXR1IyWTIxMGJXSkhPVE5ZTWxKd1l6TkNhR1JIVG05TlJGbEhRMmx6UndwQlVWRkNaemM0ZDBGUlRVVkxSMXBvV2xkWmVWcEhVbXRQUkVacFRVUmplazVxWXpCUFJGRjRUVEpGTTFsNldUQk9iVTVyVFVkS2JWbDZTVEpaZWtGM0NsbFVRWGRIUVZsTFMzZFpRa0pCUjBSMmVrRkNRa0ZSUzFKSFZuZGlSemsxWWxkV2RXUkVRVlpDWjI5eVFtZEZSVUZaVHk5TlFVVkdRa0ZrYW1KSGEzWUtXVEo0Y0UxQ05FZERhWE5IUVZGUlFtYzNPSGRCVVZsRlJVaEtiRnB1VFhaaFIxWm9Xa2hOZG1SSVNqRmliWE4zVDNkWlMwdDNXVUpDUVVkRWRucEJRZ3BEUVZGMFJFTjBiMlJJVW5kamVtOTJURE5TZG1FeVZuVk1iVVpxWkVkc2RtSnVUWFZhTW13d1lVaFdhV1JZVG14amJVNTJZbTVTYkdKdVVYVlpNamwwQ2sxR2QwZERhWE5IUVZGUlFtYzNPSGRCVVd0RlZHZDRUV0ZJVWpCalNFMDJUSGs1Ym1GWVVtOWtWMGwxV1RJNWRFd3lUbk5oVXpscVlrZHJka3h0WkhBS1pFZG9NVmxwT1ROaU0wcHlXbTE0ZG1RelRYWmFSMVozWWtjNU5XSlhWblZrUXpVMVlsZDRRV050Vm0xamVUbHZXbGRHYTJONU9UQmpibFoxWVhwQk5BcENaMjl5UW1kRlJVRlpUeTlOUVVWTFFrTnZUVXRIV21oYVYxbDVXa2RTYTA5RVJtbE5SR042VG1wak1FOUVVWGhOTWtVeldYcFpNRTV0VG10TlIwcHRDbGw2U1RKWmVrRjNXVlJCZDBoUldVdExkMWxDUWtGSFJIWjZRVUpEZDFGUVJFRXhibUZZVW05a1YwbDBZVWM1ZW1SSFZtdE5RMjlIUTJselIwRlJVVUlLWnpjNGQwRlJkMFZJUVhkaFlVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKT2MyRlRPV3BpUjJ0M1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWdwRVVWRnhSRU5vYlZsWFZtMU5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBGSENrTnBjMGRCVVZGQ1p6YzRkMEZSTkVWRlozZFJZMjFXYldONU9XOWFWMFpyWTNrNU1HTnVWblZoZWtGYVFtZHZja0puUlVWQldVOHZUVUZGVUVKQmMwMEtRMVJKZUUxcVdYaE5la0V3VDFSQmJVSm5iM0pDWjBWRlFWbFBMMDFCUlZGQ1FtZE5SbTFvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhZ3BpUjJ0M1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVdEVRV2N4VDFSamQwNUVZM2hOVkVKalFtZHZja0puUlVWQldVOHZUVUZGVTBKRk5FMVVSMmd3Q21SSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVhbUpIYTNaWk1uaHdUSGsxYm1GWVVtOWtWMGwyWkRJNWVXRXlXbk5pTTJSNlRESlNiR05IZUhZS1pWY3hiR0p1VVhWbFZ6RnpVVWhLYkZwdVRYWmhSMVpvV2toTmRtUklTakZpYlhOM1QwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWM1VYRkVRMmh0V1ZkV2JRcE5iVkpyV2tSbmVGbHFRVE5OZWxrelRrUm5NRTFVVG1oT01rMHlUa1JhYWxwRVFtbGFiVTE1VG0xTmQwMUhSWGROUTBWSFEybHpSMEZSVVVKbk56aDNDa0ZTVVVWRmQzZFNaREk1ZVdFeVduTmlNMlJtV2tkc2VtTkhSakJaTW1kM1ZGRlpTMHQzV1VKQ1FVZEVkbnBCUWtaUlVTOUVSREZ2WkVoU2QyTjZiM1lLVERKa2NHUkhhREZaYVRWcVlqSXdkbGt5ZUhCTU1rNXpZVk01YUZrelVuQmlNalY2VEROS01XSnVUWFpQVkVrMFQxUkJNMDVVWXpGTmFUbG9aRWhTYkFwaVdFSXdZM2s0ZUUxQ1dVZERhWE5IUVZGUlFtYzNPSGRCVWxsRlEwRjNSMk5JVm1saVIyeHFUVWxIVEVKbmIzSkNaMFZGUVdSYU5VRm5VVU5DU0RCRkNtVjNRalZCU0dOQk0xUXdkMkZ6WWtoRlZFcHFSMUkwWTIxWFl6TkJjVXBMV0hKcVpWQkxNeTlvTkhCNVowTTRjRGR2TkVGQlFVZFFlRkl4ZW1KblFVRUtRa0ZOUVZORVFrZEJhVVZCS3pobmJGRkplRTlCYUZoQ1FVOVRObE1yT0ZweGQwcGpaSGQzVTNJdlZGZHBhSE16WkV4eFZrRjJiME5KVVVSaWVUbG9NUXBKWTNWRVJYSXJlbk5YYVV3NFVIYzFRMU5VZEd0c2RFbzBNakZ6UlRneFZuWjFOa0Z3VkVGTFFtZG5jV2hyYWs5UVVWRkVRWGRPYmtGRVFtdEJha0VyQ2tSSU4xQXJhR2cwVmtoWFprTlhXSFJ5UzFSdlFrdDFZa0pyUzNCbVYwTlpVWGhxV0UweWRsWXZibEJ4WWxwR1dVOVdXazlpWlRaQlRuSm5lV1J2V1VNS1RVWlZUV0l6ZUhwelJrNVJXWFp6UlZsUGFUSkxibkoyUmpCMFoyOXdiVmhIVm05NmJsb3JjUzh5UVVsRVZ6bEdNVVUzV1RaWk1EWXhaVzkxUVZsa1NBcFhkejA5Q2kwdExTMHRSVTVFSUVORlVsUkpSa2xEUVZSRkxTMHRMUzBLIn1dfX0=" + } + ], + "timestampVerificationData": {}, + "certificate": { + "rawBytes": "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" + } + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiZ2hfMi41MC4wX3dpbmRvd3NfYXJtNjQuemlwIiwiZGlnZXN0Ijp7InNoYTI1NiI6IjhhYWQxMjBiNDE2Mzg2YjQyNjllZjYyYzhmZGViY2FkMzFhNzA4NDcyOTc4MTdhMTQ5ZGFmOTI3ZWRjODU1NDgifX1dLCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9zbHNhLmRldi9wcm92ZW5hbmNlL3YxIiwicHJlZGljYXRlIjp7ImJ1aWxkRGVmaW5pdGlvbiI6eyJidWlsZFR5cGUiOiJodHRwczovL3Nsc2EtZnJhbWV3b3JrLmdpdGh1Yi5pby9naXRodWItYWN0aW9ucy1idWlsZHR5cGVzL3dvcmtmbG93L3YxIiwiZXh0ZXJuYWxQYXJhbWV0ZXJzIjp7IndvcmtmbG93Ijp7InJlZiI6InJlZnMvaGVhZHMvdHJ1bmsiLCJyZXBvc2l0b3J5IjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkiLCJwYXRoIjoiLmdpdGh1Yi93b3JrZmxvd3MvZGVwbG95bWVudC55bWwifX0sImludGVybmFsUGFyYW1ldGVycyI6eyJnaXRodWIiOnsiZXZlbnRfbmFtZSI6IndvcmtmbG93X2Rpc3BhdGNoIiwicmVwb3NpdG9yeV9pZCI6IjIxMjYxMzA0OSIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiI1OTcwNDcxMSJ9fSwicmVzb2x2ZWREZXBlbmRlbmNpZXMiOlt7InVyaSI6ImdpdCtodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaUByZWZzL2hlYWRzL3RydW5rIiwiZGlnZXN0Ijp7ImdpdENvbW1pdCI6ImZhZWYyZGRkODFiMDczNjc0ODQxM2E3YzY0NmNkMGJmYzI2YzAwYTAifX1dfSwicnVuRGV0YWlscyI6eyJidWlsZGVyIjp7ImlkIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL2dpdGh1Yi1ob3N0ZWQifSwibWV0YWRhdGEiOnsiaW52b2NhdGlvbklkIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsaS9jbGkvYWN0aW9ucy9ydW5zLzkyODkwNzU3NTIvYXR0ZW1wdHMvMSJ9fX19", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "MEQCIEGIGAm7gZVLLpsrPcjndEjiuctE2/c9+j9KGvazz3rlAiAd6O16T5hkzRM3IbRPzm+xT40mNQZxefd7laDP6x2XLQ==" + } + ] + } + }, + "repository_id": 1 + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "attestations_subject_digests": { + "type": "object", + "additionalProperties": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "bundle": { + "type": "object", + "properties": { + "mediaType": { + "type": "string" + }, + "verificationMaterial": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "dsseEnvelope": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + }, + "description": "The bundle of the attestation." + }, + "repository_id": { + "type": "integer" + }, + "bundle_url": { + "type": "string" + } + } + } + }, + "description": "Mapping of subject digest to bundles." + }, + "page_info": { + "type": "object", + "properties": { + "has_next": { + "type": "boolean", + "description": "Indicates whether there is a next page." + }, + "has_previous": { + "type": "boolean", + "description": "Indicates whether there is a previous page." + }, + "next": { + "type": "string", + "description": "The cursor to the next page." + }, + "previous": { + "type": "string", + "description": "The cursor to the previous page." + } + }, + "description": "Information about the current page." + } + } + } + } + } + ], + "previews": [], + "descriptionHTML": "List a collection of artifact attestations associated with any entry in a list of subject digests owned by a user.
\nThe collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the attestations:read
permission is required.
Please note: in order to offer meaningful security benefits, an attestation's signature and timestamps must be cryptographically verified, and the identity of the attestation signer must be validated. Attestations can be verified using the GitHub CLI attestation verify
command. For more information, see our guide on how to use artifact attestations to establish a build's provenance.
OK
" + } + ] + }, { "serverUrl": "https://api.github.com", "verb": "post", @@ -673447,6 +673760,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/data/ghes-3.13-2022-11-28/schema.json b/src/rest/data/ghes-3.13-2022-11-28/schema.json index c8d6968df747..cbbfc3d6f5b1 100644 --- a/src/rest/data/ghes-3.13-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.13-2022-11-28/schema.json @@ -532742,6 +532742,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/data/ghes-3.14-2022-11-28/schema.json b/src/rest/data/ghes-3.14-2022-11-28/schema.json index ac94ad706db7..2884df768d10 100644 --- a/src/rest/data/ghes-3.14-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.14-2022-11-28/schema.json @@ -536543,6 +536543,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/data/ghes-3.15-2022-11-28/schema.json b/src/rest/data/ghes-3.15-2022-11-28/schema.json index d99eb808ebae..5b03f54f6437 100644 --- a/src/rest/data/ghes-3.15-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.15-2022-11-28/schema.json @@ -264,13 +264,13 @@ } ], "previews": [], - "descriptionHTML": "Lists all artifacts for a repository.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
OK
" } - ] + ], + "descriptionHTML": "Lists all artifacts for a repository.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
Gets a specific artifact for a workflow run.
\nAnyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets a specific artifact for a workflow run.
\nAnyone with read access to the repository can use this endpoint.
\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
Lists repositories and their GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists repositories and their GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
\nOAuth tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
Deletes a GitHub Actions cache for a repository, using a cache ID.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Deletes a GitHub Actions cache for a repository, using a cache ID.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets the GitHub Actions permissions policy for organizations and allowed actions in an enterprise.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an enterprise.\"
OAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Gets the default workflow permissions granted to the GITHUB_TOKEN
when running workflows in an enterprise,\nas well as whether GitHub Actions can submit approving pull request reviews. For more information, see\n\"Enforcing a policy for workflow permissions in your enterprise.\"
OAuth tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Success response
" } - ] + ], + "descriptionHTML": "Gets the default workflow permissions granted to the GITHUB_TOKEN
when running workflows in an enterprise,\nas well as whether GitHub Actions can submit approving pull request reviews. For more information, see\n\"Enforcing a policy for workflow permissions in your enterprise.\"
OAuth tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an organization.\"
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an organization.\"
If the organization belongs to an enterprise that has selected
actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.
To use the patterns_allowed
setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the patterns_allowed
setting only applies to public repositories in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for an organization.\"
If the organization belongs to an enterprise that has selected
actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings.
To use the patterns_allowed
setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the patterns_allowed
setting only applies to public repositories in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.
\nYou must authenticate using an access token with the repo
scope to use this endpoint. GitHub Apps must have the administration
repository permission to use this API.
OK
" } - ] + ], + "descriptionHTML": "Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions allowed to run in the repository.
\nYou must authenticate using an access token with the repo
scope to use this endpoint. GitHub Apps must have the administration
repository permission to use this API.
Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"Allowing access to components in a private repository\" and\n\"Allowing access to components in an internal repository.\"
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.\nThis endpoint only applies to internal and private repositories.\nFor more information, see \"Allowing access to components in a private repository\" and\n\"Allowing access to components in an internal repository.\"
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for a repository.\"
If the repository belongs to an organization or enterprise that has selected
actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.
To use the patterns_allowed
setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the patterns_allowed
setting only applies to public repositories.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for allowed_actions
must be configured to selected
. For more information, see \"Set GitHub Actions permissions for a repository.\"
If the repository belongs to an organization or enterprise that has selected
actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings.
To use the patterns_allowed
setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the patterns_allowed
setting only applies to public repositories.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Deletes a secret in a repository using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Deletes a secret in a repository using the secret name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets a single environment secret without revealing its encrypted value.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets a single environment secret without revealing its encrypted value.
\nAuthenticated users must have collaborator access to a repository to create, update, or read secrets.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Lists the organizations with access to a self-hosted runner group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists the organizations with access to a self-hosted runner group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Lists the repositories with access to a self-hosted runner group configured in an organization.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists the repositories with access to a self-hosted runner group configured in an organization.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Adds a self-hosted runner to a runner group configured in an organization.
\nOAuth tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Adds a self-hosted runner to a runner group configured in an organization.
\nOAuth tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Returns a token that you can pass to the config
script. The token expires after one hour.
Example using registration token:
\nConfigure your self-hosted runner, replacing TOKEN
with the registration token provided by this endpoint.
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Created
" } - ] + ], + "descriptionHTML": "Returns a token that you can pass to the config
script. The token expires after one hour.
Example using registration token:
\nConfigure your self-hosted runner, replacing TOKEN
with the registration token provided by this endpoint.
./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN\n
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Returns a token that you can pass to the config
script to remove a self-hosted runner from an enterprise. The token expires after one hour.
Example using remove token:
\nTo remove your self-hosted runner from an enterprise, replace TOKEN
with the remove token provided by this\nendpoint.
./config.sh remove --token TOKEN\n
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Created
" } - ] + ], + "descriptionHTML": "Returns a token that you can pass to the config
script to remove a self-hosted runner from an enterprise. The token expires after one hour.
Example using remove token:
\nTo remove your self-hosted runner from an enterprise, replace TOKEN
with the remove token provided by this\nendpoint.
./config.sh remove --token TOKEN\n
\nOAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Lists all self-hosted runners configured in a repository.
\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists all self-hosted runners configured in a repository.
\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Returns a token that you can pass to the config
script to remove a self-hosted runner from an repository. The token expires after one hour.
For example, you can replace TOKEN
in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:
./config.sh remove --token TOKEN\n
\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Created
" } - ] + ], + "descriptionHTML": "Returns a token that you can pass to the config
script to remove a self-hosted runner from an repository. The token expires after one hour.
For example, you can replace TOKEN
in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization:
./config.sh remove --token TOKEN\n
\nAuthenticated users must have admin access to the repository to use this endpoint.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets a specific variable in an organization.
\nThe authenticated user must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org
scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets a specific variable in an organization.
\nThe authenticated user must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need theadmin:org
scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets a specific variable in a repository.
\nThe authenticated user must have collaborator access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets a specific variable in a repository.
\nThe authenticated user must have collaborator access to the repository to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Deletes an environment variable using the variable name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Deletes an environment variable using the variable name.
\nAuthenticated users must have collaborator access to a repository to create, update, or read variables.
\nOAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets a specific workflow run.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
OK
" } - ] + ], + "descriptionHTML": "Gets a specific workflow run.
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
Re-runs your workflow run using its id
.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Created
" } - ] + ], + "descriptionHTML": "Re-runs your workflow run using its id
.
OAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Disables a workflow and sets the state
of the workflow to disabled_manually
. You can replace workflow_id
with the workflow file name. For example, you could use main.yaml
.
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Disables a workflow and sets the state
of the workflow to disabled_manually
. You can replace workflow_id
with the workflow file name. For example, you could use main.yaml
.
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace workflow_id
with the workflow file name. For example, you could use main.yaml
.
You must configure your GitHub Actions workflow to run when the workflow_dispatch
webhook event occurs. The inputs
are configured in the workflow file. For more information about how to configure the workflow_dispatch
event in the workflow file, see \"Events that trigger workflows.\"
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace workflow_id
with the workflow file name. For example, you could use main.yaml
.
You must configure your GitHub Actions workflow to run when the workflow_dispatch
webhook event occurs. The inputs
are configured in the workflow file. For more information about how to configure the workflow_dispatch
event in the workflow file, see \"Events that trigger workflows.\"
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Enables a workflow and sets the state
of the workflow to active
. You can replace workflow_id
with the workflow file name. For example, you could use main.yaml
.
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Enables a workflow and sets the state
of the workflow to active
. You can replace workflow_id
with the workflow file name. For example, you could use main.yaml
.
OAuth tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Note
\n\nThe :app_slug
is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., https://github.com/settings/apps/:app_slug
).
Resource not found
" } - ] + ], + "descriptionHTML": "Note
\n\nThe :app_slug
is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., https://github.com/settings/apps/:app_slug
).
Revokes the installation token you're using to authenticate as an installation and access this endpoint.
\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"Create an installation access token for an app\" endpoint.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ] + ], + "descriptionHTML": "Revokes the installation token you're using to authenticate as an installation and access this endpoint.
\nOnce an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"Create an installation access token for an app\" endpoint.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -128187,7 +128187,6 @@ } ], "previews": [], - "descriptionHTML": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.
\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of true
indicates you must sign commits on this branch. For more information, see Signing commits with GPG in GitHub Help.
Note
\n\nYou must enable branch protection to require signed commits.
\nResource not found
" } - ] + ], + "descriptionHTML": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.
\nWhen authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of true
indicates you must sign commits on this branch. For more information, see Signing commits with GPG in GitHub Help.
Note
\n\nYou must enable branch protection to require signed commits.
\nProtected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.
\nLists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.
", "statusCodes": [ { "httpStatusCode": "200", @@ -130317,7 +130316,8 @@ "httpStatusCode": "404", "description": "Resource not found
" } - ] + ], + "descriptionHTML": "Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see GitHub's products in the GitHub Help documentation.
\nLists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -148589,13 +148589,13 @@ } ], "previews": [], - "descriptionHTML": "Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually Create a check suite.\nYou must have admin permissions in the repository to set preferences for check suites.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually Create a check suite.\nYou must have admin permissions in the repository to set preferences for check suites.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -161963,13 +161963,13 @@ } ], "previews": [], - "descriptionHTML": "Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration.
\nIf insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled.
\nThe authenticated user must be an administrator or security manager for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org
scope to use this endpoint.
Accepted
" } - ] + ], + "descriptionHTML": "Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration.
\nIf insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled.
\nThe authenticated user must be an administrator or security manager for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -184488,7 +184488,6 @@ } ], "previews": [], - "descriptionHTML": "Lists Dependabot alerts for repositories that are owned by the specified enterprise.
\nThe authenticated user must be a member of the enterprise to use this endpoint.
\nAlerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see \"Managing security managers in your organization.\"
\nOAuth app tokens and personal access tokens (classic) need the repo
or security_events
scope to use this endpoint.
Validation failed, or the endpoint has been spammed.
" } - ] + ], + "descriptionHTML": "Lists Dependabot alerts for repositories that are owned by the specified enterprise.
\nThe authenticated user must be a member of the enterprise to use this endpoint.
\nAlerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see \"Managing security managers in your organization.\"
\nOAuth app tokens and personal access tokens (classic) need the repo
or security_events
scope to use this endpoint.
Lists all secrets available in an organization without revealing their\nencrypted values.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists all secrets available in an organization without revealing their\nencrypted values.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Note
\n\nTo get information about name patterns that branches must match in order to deploy to this environment, see \"Get a deployment branch policy.\"
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
OK
" } - ] + ], + "descriptionHTML": "Note
\n\nTo get information about name patterns that branches must match in order to deploy to this environment, see \"Get a deployment branch policy.\"
\nAnyone with read access to the repository can use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint with a private repository.
OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -205466,13 +205466,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -209530,7 +209530,6 @@ } ], "previews": [], - "descriptionHTML": "Check the status of the license that is currently set for the enterprise.
", "statusCodes": [ { "httpStatusCode": "200", @@ -209544,7 +209543,8 @@ "httpStatusCode": "500", "description": "Internal error
" } - ] + ], + "descriptionHTML": "Check the status of the license that is currently set for the enterprise.
" }, { "serverUrl": "http(s)://HOSTNAME", @@ -211149,13 +211149,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -211351,13 +211351,13 @@ } ], "previews": [], - "descriptionHTML": "Removes any overrides for this hook at the org level for this org.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Removes any overrides for this hook at the org level for this org.
" } ], "orgs": [ @@ -211787,13 +211787,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -213704,13 +213704,13 @@ } ], "previews": [], - "descriptionHTML": "Deletes any overridden enforcement on this repository for the specified hook.
\nResponds with effective values inherited from owner and/or global level.
", "statusCodes": [ { "httpStatusCode": "200", "description": "Responds with effective values inherited from owner and/or global level.
" } - ] + ], + "descriptionHTML": "Deletes any overridden enforcement on this repository for the specified hook.
\nResponds with effective values inherited from owner and/or global level.
" } ], "scim": [ @@ -222987,13 +222987,13 @@ } ], "previews": [], - "descriptionHTML": "You can demote any user account except your own.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ] + ], + "descriptionHTML": "You can demote any user account except your own.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -269183,13 +269183,13 @@ } ], "previews": [], - "descriptionHTML": "Removes one or more assignees from an issue.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Removes one or more assignees from an issue.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -296491,13 +296491,13 @@ } ], "previews": [], - "descriptionHTML": "Lists labels for issues in a milestone.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Lists labels for issues in a milestone.
" } ], "milestones": [ @@ -298348,13 +298348,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -316264,7 +316264,6 @@ } ], "previews": [], - "descriptionHTML": "Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as issues:read
or pull_requests:read
.
Not modified
" } - ] + ], + "descriptionHTML": "Depending on what is rendered in the Markdown, you may need to provide additional token scopes for labels, such as issues:read
or pull_requests:read
.
Initiates the generation of a migration archive.
\nBefore you can use this endpoint, you must configure a blob storage provider in the \"Migrations\" section in the Management Console. For more details, see \"Migrating repositories from GitHub Enterprise Server to GitHub Enterprise Cloud.\"
", "statusCodes": [ { "httpStatusCode": "201", @@ -320746,7 +320745,8 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ] + ], + "descriptionHTML": "Initiates the generation of a migration archive.
\nBefore you can use this endpoint, you must configure a blob storage provider in the \"Migrations\" section in the Management Console. For more details, see \"Migrating repositories from GitHub Enterprise Server to GitHub Enterprise Cloud.\"
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -327822,7 +327822,6 @@ } ], "previews": [], - "descriptionHTML": "Warning
\n\nClosing down notice: GitHub Enterprise Server will discontinue the OAuth Authorizations API, which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our web application flow. The OAuth Authorizations API will be removed on November 13, 2020. For more information, including scheduled brownouts, see the blog post.
\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the list your authorizations API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on the application authorizations settings screen within GitHub. The scopes
returned are the union of scopes authorized for the application. For example, if an application has one token with repo
scope and another token with user
scope, the grant will return [\"repo\", \"user\"]
.
Resource not found
" } - ] + ], + "descriptionHTML": "Warning
\n\nClosing down notice: GitHub Enterprise Server will discontinue the OAuth Authorizations API, which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our web application flow. The OAuth Authorizations API will be removed on November 13, 2020. For more information, including scheduled brownouts, see the blog post.
\nYou can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the list your authorizations API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on the application authorizations settings screen within GitHub. The scopes
returned are the union of scopes authorized for the application. For example, if an application has one token with repo
scope and another token with user
scope, the grant will return [\"repo\", \"user\"]
.
Warning
\n\nClosing down notice: This operation is closing down and will be removed in the future. Use the \"List custom repository roles\" endpoint instead.
\nList the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"
\nThe authenticated user must be administrator of the organization or of a repository of the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
or repo
scope to use this endpoint.
Response - list of custom role names
" } - ] + ], + "descriptionHTML": "Warning
\n\nClosing down notice: This operation is closing down and will be removed in the future. Use the \"List custom repository roles\" endpoint instead.
\nList the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"
\nThe authenticated user must be administrator of the organization or of a repository of the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
or repo
scope to use this endpoint.
Removes all assigned organization roles from a team. For more information on organization roles, see \"Using organization roles.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Removes all assigned organization roles from a team. For more information on organization roles, see \"Using organization roles.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Removes an organization role from a team. For more information on organization roles, see \"Using organization roles.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Removes an organization role from a team. For more information on organization roles, see \"Using organization roles.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Lists the teams that are assigned to an organization role. For more information on organization roles, see \"Using organization roles.\"
\nTo use this endpoint, you must be an administrator for the organization.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Response if the organization roles feature is not enabled or validation failed.
" } - ] + ], + "descriptionHTML": "Lists the teams that are assigned to an organization role. For more information on organization roles, see \"Using organization roles.\"
\nTo use this endpoint, you must be an administrator for the organization.
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
Adds a team as a security manager for an organization. For more information, see \"Managing security for an organization for an organization.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Adds a team as a security manager for an organization. For more information, see \"Managing security for an organization for an organization.\"
\nThe authenticated user must be an administrator for the organization to use this endpoint.
\nOAuth app tokens and personal access tokens (classic) need the write:org
scope to use this endpoint.
Lists builts of a GitHub Enterprise Server Pages site.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Lists builts of a GitHub Enterprise Server Pages site.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Gets information about a GitHub Enterprise Server Pages build.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Gets information about a GitHub Enterprise Server Pages build.
\nOAuth app tokens and personal access tokens (classic) need the repo
scope to use this endpoint.
Lists review comments for all pull requests in a repository. By default,\nreview comments are in ascending order by ID.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.OK
" } - ] + ], + "descriptionHTML": "Lists review comments for all pull requests in a repository. By default,\nreview comments are in ascending order by ID.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.Edits the content of a specified review comment.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.OK
" } - ] + ], + "descriptionHTML": "Edits the content of a specified review comment.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see \"Create an issue comment.\"
\nIf your comment applies to more than one line in the pull request diff, you should use the parameters line
, side
, and optionally start_line
and start_side
in your request.
The position
parameter is closing down. If you use position
, the line
, side
, start_line
, and start_side
parameters are not required.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\"\nand \"Best practices for using the REST API.\"
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.Validation failed, or the endpoint has been spammed.
" } - ] + ], + "descriptionHTML": "Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see \"Create an issue comment.\"
\nIf your comment applies to more than one line in the pull request diff, you should use the parameters line
, side
, and optionally start_line
and start_side
in your request.
The position
parameter is closing down. If you use position
, the line
, side
, start_line
, and start_side
parameters are not required.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\"\nand \"Best practices for using the REST API.\"
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.Lists all reviews for a specified pull request. The list of reviews returns in chronological order.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.The list of reviews returns in chronological order.
" } - ] + ], + "descriptionHTML": "Lists all reviews for a specified pull request. The list of reviews returns in chronological order.
\nThis endpoint supports the following custom media types. For more information, see \"Media types.\"
\napplication/vnd.github-commitcomment.raw+json
: Returns the raw markdown body. Response will include body
. This is the default if you do not pass any specific media type.application/vnd.github-commitcomment.text+json
: Returns a text only representation of the markdown body. Response will include body_text
.application/vnd.github-commitcomment.html+json
: Returns HTML rendered from the body's markdown. Response will include body_html
.application/vnd.github-commitcomment.full+json
: Returns raw, text, and HTML representations. Response will include body
, body_text
, and body_html
.Note
\n\nYou can also specify a repository by repository_id
using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id
.
Delete a reaction to an issue comment.
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ] + ], + "descriptionHTML": "Note
\n\nYou can also specify a repository by repository_id
using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id
.
Delete a reaction to an issue comment.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -434519,13 +434519,13 @@ } ], "previews": [], - "descriptionHTML": "Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new List reactions for a team discussion
endpoint.
List the reactions to a team discussion.
\nOAuth app tokens and personal access tokens (classic) need the read:discussion
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Warning
\n\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new List reactions for a team discussion
endpoint.
List the reactions to a team discussion.
\nOAuth app tokens and personal access tokens (classic) need the read:discussion
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "https://HOSTNAME/api/uploads", @@ -457324,7 +457324,6 @@ } ], "previews": [], - "descriptionHTML": "Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users.
\nFor more information about viewing repository activity,\nsee \"Viewing activity and data for your repository.\"
", "statusCodes": [ { "httpStatusCode": "200", @@ -457334,7 +457333,8 @@ "httpStatusCode": "422", "description": "Validation failed, or the endpoint has been spammed.
" } - ] + ], + "descriptionHTML": "Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users.
\nFor more information about viewing repository activity,\nsee \"Viewing activity and data for your repository.\"
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -457995,13 +457995,13 @@ } ], "previews": [], - "descriptionHTML": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -473123,13 +473123,13 @@ } ], "previews": [], - "descriptionHTML": "Gets all autolinks that are configured for a repository.
\nInformation about autolinks are only available to repository administrators.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Gets all autolinks that are configured for a repository.
\nInformation about autolinks are only available to repository administrators.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -483447,13 +483447,13 @@ } ], "previews": [], - "descriptionHTML": "Disables Git LFS for a repository.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Disables Git LFS for a repository.
\nOAuth app tokens and personal access tokens (classic) need the admin:enterprise
scope to use this endpoint.
To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a 422 Unprocessable Entity
status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set Content-Length
to zero when calling out to this endpoint. For more information, see \"HTTP method.\"
Note
\n\nYou can also specify a team by org_id
and team_id
using the route PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}
.
For more information about the permission levels, see \"Repository permission levels for an organization\".
", "statusCodes": [ { "httpStatusCode": "204", "description": "No Content
" } - ] + ], + "descriptionHTML": "To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a 422 Unprocessable Entity
status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set Content-Length
to zero when calling out to this endpoint. For more information, see \"HTTP method.\"
Note
\n\nYou can also specify a team by org_id
and team_id
using the route PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}
.
For more information about the permission levels, see \"Repository permission levels for an organization\".
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -516404,13 +516404,13 @@ } ], "previews": [], - "descriptionHTML": "Lists the child teams of the team specified by {team_slug}
.
Note
\n\nYou can also specify a team by org_id
and team_id
using the route GET /organizations/{org_id}/team/{team_id}/teams
.
if child teams exist
" } - ] + ], + "descriptionHTML": "Lists the child teams of the team specified by {team_slug}
.
Note
\n\nYou can also specify a team by org_id
and team_id
using the route GET /organizations/{org_id}/team/{team_id}/teams
.
Get a specific comment on a team discussion.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}
.
OAuth app tokens and personal access tokens (classic) need the read:discussion
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Get a specific comment on a team discussion.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}
.
OAuth app tokens and personal access tokens (classic) need the read:discussion
scope to use this endpoint.
Edits the body text of a discussion comment.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Edits the body text of a discussion comment.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
Creates a new discussion post on a team's page.
\nThis endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route POST /organizations/{org_id}/team/{team_id}/discussions
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
Created
" } - ] + ], + "descriptionHTML": "Creates a new discussion post on a team's page.
\nThis endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route POST /organizations/{org_id}/team/{team_id}/discussions
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
Get a specific discussion on a team's page.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}
.
OAuth app tokens and personal access tokens (classic) need the read:discussion
scope to use this endpoint.
OK
" } - ] + ], + "descriptionHTML": "Get a specific discussion on a team's page.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}
.
OAuth app tokens and personal access tokens (classic) need the read:discussion
scope to use this endpoint.
Delete a discussion from a team's page.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
No Content
" } - ] + ], + "descriptionHTML": "Delete a discussion from a team's page.
\nNote
\n\nYou can also specify a team by org_id
and team_id
using the route DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}
.
OAuth app tokens and personal access tokens (classic) need the write:discussion
scope to use this endpoint.
Lists external groups available in an organization. You can query the groups using the display_name
parameter, only groups with a group_name
containing the text provided in the display_name
parameter will be returned. You can also limit your page results using the per_page
parameter. GitHub Enterprise Server generates a url-encoded page
token using a cursor value for where the next page begins. For more information on cursor pagination, see \"Offset and Cursor Pagination explained.\"
You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.
", "statusCodes": [ { "httpStatusCode": "200", "description": "OK
" } - ] + ], + "descriptionHTML": "Lists external groups available in an organization. You can query the groups using the display_name
parameter, only groups with a group_name
containing the text provided in the display_name
parameter will be returned. You can also limit your page results using the per_page
parameter. GitHub Enterprise Server generates a url-encoded page
token using a cursor value for where the next page begins. For more information on cursor pagination, see \"Offset and Cursor Pagination explained.\"
You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -541414,6 +541414,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/data/ghes-3.16-2022-11-28/schema.json b/src/rest/data/ghes-3.16-2022-11-28/schema.json index 1fa9e41a8027..73eff2e6a7e9 100644 --- a/src/rest/data/ghes-3.16-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.16-2022-11-28/schema.json @@ -385027,297 +385027,6 @@ } ] }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries", - "title": "Create a private registry for an organization", - "category": "private-registries", - "subcategory": "organization-configurations", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "registry_type", - "in": "body", - "description": "The registry type.
", - "isRequired": true, - "enum": [ - "maven_repository", - "nuget_feed", - "goproxy_server" - ] - }, - { - "type": "string or null", - "name": "username", - "in": "body", - "description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" - }, - { - "type": "string", - "name": "encrypted_value", - "in": "body", - "description": "The value for your secret, encrypted with LibSodium using the public key retrieved from the Get private registries public key for an organization endpoint.
", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "in": "body", - "description": "The ID of the key you used to encrypt the secret.
", - "isRequired": true - }, - { - "type": "string", - "name": "visibility", - "in": "body", - "description": "Which type of organization repositories have access to the private registry. selected
means only the repositories specified by selected_repository_ids
can access the private registry.
An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when visibility
is set to selected
. You can manage the list of selected repositories using the Update a private registry for an organization endpoint. This field should be omitted if visibility
is set to all
or private
.
The organization private registry configuration
", - "example": { - "name": "MAVEN_REPOSITORY_SECRET", - "registry_type": "maven_repository", - "username": "monalisa", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ], - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z" - }, - "schema": { - "title": "Organization private registry", - "description": "Private registry configuration for an organization", - "type": "object", - "properties": { - "name": { - "description": "The name of the private registry configuration.", - "type": "string", - "examples": [ - "MAVEN_REPOSITORY_SECRET" - ] - }, - "registry_type": { - "description": "The registry type.", - "enum": [ - "maven_repository", - "nuget_feed", - "goproxy_server" - ], - "type": "string" - }, - "username": { - "description": "The username to use when authenticating with the private registry.", - "type": "string", - "examples": [ - "monalisa" - ] - }, - "visibility": { - "description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry.", - "enum": [ - "all", - "private", - "selected" - ], - "type": "string" - }, - "selected_repository_ids": { - "type": "array", - "description": "An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`.", - "items": { - "type": "integer" - } - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "name", - "registry_type", - "visibility", - "created_at", - "updated_at" - ] - } - } - }, - { - "key": "org-private-registry-with-selected-visibility", - "request": { - "contentType": "application/json", - "description": "Example of a private registry configuration with selected visibility", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "registry_type": "maven_repository", - "username": "monalisa", - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ] - }, - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "201", - "contentType": "application/json", - "description": "The organization private registry configuration
", - "example": { - "name": "MAVEN_REPOSITORY_SECRET", - "registry_type": "maven_repository", - "username": "monalisa", - "visibility": "private", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z" - }, - "schema": { - "title": "Organization private registry", - "description": "Private registry configuration for an organization", - "type": "object", - "properties": { - "name": { - "description": "The name of the private registry configuration.", - "type": "string", - "examples": [ - "MAVEN_REPOSITORY_SECRET" - ] - }, - "registry_type": { - "description": "The registry type.", - "enum": [ - "maven_repository", - "nuget_feed", - "goproxy_server" - ], - "type": "string" - }, - "username": { - "description": "The username to use when authenticating with the private registry.", - "type": "string", - "examples": [ - "monalisa" - ] - }, - "visibility": { - "description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry.", - "enum": [ - "all", - "private", - "selected" - ], - "type": "string" - }, - "selected_repository_ids": { - "type": "array", - "description": "An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`.", - "items": { - "type": "integer" - } - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "name", - "registry_type", - "visibility", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using LibSodium. For more information, see \"Encrypting secrets for the REST API.\"
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
The organization private registry configuration
" - }, - { - "httpStatusCode": "404", - "description": "Resource not found
" - }, - { - "httpStatusCode": "422", - "description": "Validation failed, or the endpoint has been spammed.
" - } - ] - }, { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", @@ -385577,6 +385286,12 @@ "goproxy_server" ] }, + { + "type": "string", + "name": "url", + "in": "body", + "description": "The URL of the private registry.
" + }, { "type": "string or null", "name": "username", @@ -549065,6 +548780,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/data/ghes-3.17-2022-11-28/schema.json b/src/rest/data/ghes-3.17-2022-11-28/schema.json index b1f94fd8bfa7..7f10423c6533 100644 --- a/src/rest/data/ghes-3.17-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.17-2022-11-28/schema.json @@ -361867,7 +361867,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -364435,7 +364435,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -365809,7 +365809,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -368373,7 +368373,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -387344,297 +387344,6 @@ } ] }, - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "post", - "requestPath": "/orgs/{org}/private-registries", - "title": "Create a private registry for an organization", - "category": "private-registries", - "subcategory": "organization-configurations", - "parameters": [ - { - "name": "org", - "description": "The organization name. The name is not case sensitive.
", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "registry_type", - "in": "body", - "description": "The registry type.
", - "isRequired": true, - "enum": [ - "maven_repository", - "nuget_feed", - "goproxy_server" - ] - }, - { - "type": "string or null", - "name": "username", - "in": "body", - "description": "The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication.
" - }, - { - "type": "string", - "name": "encrypted_value", - "in": "body", - "description": "The value for your secret, encrypted with LibSodium using the public key retrieved from the Get private registries public key for an organization endpoint.
", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "in": "body", - "description": "The ID of the key you used to encrypt the secret.
", - "isRequired": true - }, - { - "type": "string", - "name": "visibility", - "in": "body", - "description": "Which type of organization repositories have access to the private registry. selected
means only the repositories specified by selected_repository_ids
can access the private registry.
An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when visibility
is set to selected
. You can manage the list of selected repositories using the Update a private registry for an organization endpoint. This field should be omitted if visibility
is set to all
or private
.
The organization private registry configuration
", - "example": { - "name": "MAVEN_REPOSITORY_SECRET", - "registry_type": "maven_repository", - "username": "monalisa", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ], - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z" - }, - "schema": { - "title": "Organization private registry", - "description": "Private registry configuration for an organization", - "type": "object", - "properties": { - "name": { - "description": "The name of the private registry configuration.", - "type": "string", - "examples": [ - "MAVEN_REPOSITORY_SECRET" - ] - }, - "registry_type": { - "description": "The registry type.", - "enum": [ - "maven_repository", - "nuget_feed", - "goproxy_server" - ], - "type": "string" - }, - "username": { - "description": "The username to use when authenticating with the private registry.", - "type": "string", - "examples": [ - "monalisa" - ] - }, - "visibility": { - "description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry.", - "enum": [ - "all", - "private", - "selected" - ], - "type": "string" - }, - "selected_repository_ids": { - "type": "array", - "description": "An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`.", - "items": { - "type": "integer" - } - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "name", - "registry_type", - "visibility", - "created_at", - "updated_at" - ] - } - } - }, - { - "key": "org-private-registry-with-selected-visibility", - "request": { - "contentType": "application/json", - "description": "Example of a private registry configuration with selected visibility", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "registry_type": "maven_repository", - "username": "monalisa", - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ] - }, - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "201", - "contentType": "application/json", - "description": "The organization private registry configuration
", - "example": { - "name": "MAVEN_REPOSITORY_SECRET", - "registry_type": "maven_repository", - "username": "monalisa", - "visibility": "private", - "created_at": "2019-08-10T14:59:22Z", - "updated_at": "2020-01-10T14:59:22Z" - }, - "schema": { - "title": "Organization private registry", - "description": "Private registry configuration for an organization", - "type": "object", - "properties": { - "name": { - "description": "The name of the private registry configuration.", - "type": "string", - "examples": [ - "MAVEN_REPOSITORY_SECRET" - ] - }, - "registry_type": { - "description": "The registry type.", - "enum": [ - "maven_repository", - "nuget_feed", - "goproxy_server" - ], - "type": "string" - }, - "username": { - "description": "The username to use when authenticating with the private registry.", - "type": "string", - "examples": [ - "monalisa" - ] - }, - "visibility": { - "description": "Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry.", - "enum": [ - "all", - "private", - "selected" - ], - "type": "string" - }, - "selected_repository_ids": { - "type": "array", - "description": "An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`.", - "items": { - "type": "integer" - } - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "name", - "registry_type", - "visibility", - "created_at", - "updated_at" - ] - } - } - } - ], - "previews": [], - "descriptionHTML": "Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using LibSodium. For more information, see \"Encrypting secrets for the REST API.\"
\nOAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
The organization private registry configuration
" - }, - { - "httpStatusCode": "404", - "description": "Resource not found
" - }, - { - "httpStatusCode": "422", - "description": "Validation failed, or the endpoint has been spammed.
" - } - ] - }, { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", @@ -387894,6 +387603,12 @@ "goproxy_server" ] }, + { + "type": "string", + "name": "url", + "in": "body", + "description": "The URL of the private registry.
" + }, { "type": "string or null", "name": "username", @@ -494598,7 +494313,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -496107,7 +495822,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -498490,7 +498205,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -499875,7 +499590,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -502264,7 +501979,7 @@ "type": "integer", "description": "The maximum amount of characters allowed in file paths.", "minimum": 1, - "maximum": 256 + "maximum": 32767 } }, "required": [ @@ -554890,6 +554605,10 @@ }, "key": { "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" } }, "required": [ diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index 13b2554ebed9..994bbd9b8044 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -47,5 +47,5 @@ ] } }, - "sha": "bbde2eea32cd8cfb2ef5e7508268bc60c70c8025" + "sha": "3ae8ad33b4276583395c1b28852650f329018927" } \ No newline at end of file diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index ce42a67aec8f..ee79d0900ceb 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "bbde2eea32cd8cfb2ef5e7508268bc60c70c8025" + "sha": "3ae8ad33b4276583395c1b28852650f329018927" } \ No newline at end of file