Skip to content

Commit 562e8db

Browse files
authored
Merge pull request #40293 from github/repo-sync
Repo sync
2 parents aba155a + 7054717 commit 562e8db

File tree

40 files changed

+2110
-4046
lines changed

40 files changed

+2110
-4046
lines changed
109 KB
Loading
89.6 KB
Loading

content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
runs-on: ubuntu-latest
9292
steps:
9393
- name: 'Az CLI login'
94-
uses: azure/login@v2
94+
uses: azure/login@8c334a195cbb38e46038007b304988d888bf676a
9595
with:
9696
client-id: ${{ secrets.AZURE_CLIENT_ID }}
9797
tenant-id: ${{ secrets.AZURE_TENANT_ID }}

content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ For more detailed information about how to enable SAML using Okta, see [AUTOTITL
9999
1. Optionally, in the **Issuer** field, type your SAML issuer URL to verify the authenticity of sent messages.
100100
1. Under **Public Certificate**, paste a certificate to verify SAML responses. This is the public key corresponding to the private key used to sign SAML responses.
101101

102+
> [!NOTE]
103+
> {% data variables.product.github %} does not enforce the expiration of this SAML IdP certificate. This means that even if this certificate expires, your SAML authentication will continue to work. However, if your IdP administrator regenerates the SAML certificate, and you don't update it on the {% data variables.product.github %} side, users will encounter a `digest mismatch` error during SAML authentication attempts due to the certificate mismatch. See [Error: Digest mismatch](/admin/managing-iam/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#error-digest-mismatch).
104+
102105
To find the certificate, refer to the documentation for your IdP. Some IdPs call this an X.509 certificate.
103106

104107
{% data reusables.saml.edit-signature-and-digest-methods %}

content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ topics:
1212
children:
1313
- /about-your-exposure-to-vulnerable-dependencies
1414
- /prioritizing-dependabot-alerts-using-metrics
15+
- /prioritizing-dependabot-alerts-using-production-context
1516
redirect_from:
1617
- /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites
1718
---
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Prioritizing Dependabot alerts using production context
3+
shortTitle: Dependabot production context
4+
intro: 'You can focus remediation on real risk by prioritizing {% data variables.product.prodname_dependabot_alerts %} for artifacts actually present in production, using metadata from external registries like JFrog Artifactory or your own CI/CD workflows.'
5+
product: '{% data reusables.gated-features.dependabot-alerts %}'
6+
versions:
7+
fpt: '*'
8+
ghec: '*'
9+
type: how_to
10+
topics:
11+
- Code Security
12+
- Dependabot
13+
- Organizations
14+
- Security
15+
---
16+
17+
> [!NOTE] Production context is in {% data variables.release-phases.public_preview %} and subject to change.
18+
19+
## Prioritizing {% data variables.product.prodname_dependabot_alerts %} using production context
20+
21+
Application Security (AppSec) managers are often overwhelmed by a high volume of {% data variables.product.prodname_dependabot_alerts %}, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture.
22+
23+
## Associating production context with {% data variables.product.prodname_dependabot_alerts %}
24+
25+
{% data variables.product.github %} enables production context for your {% data variables.product.prodname_dependabot_alerts %} by providing a Storage Record API. This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. The API should be called whenever an artifact is promoted to a production-approved package repository.
26+
27+
{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record) in the REST API documentation.
28+
29+
## Steps to prioritize alerts
30+
31+
Follow these steps to enable and use production context for alert prioritization:
32+
33+
### Step 1: Detect and report production artifact promotions
34+
35+
In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to to send the artifact's metadata to {% data variables.product.github %}. This includes information such as the artifact's registry, repository, and version. See [AUTOTITLE](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record).
36+
37+
If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}.
38+
39+
The `artifact-registry:jfrog-artifactory` filter will work out of the box with no further setup in {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for [{% data variables.product.github %} {% data variables.product.prodname_dependabot %}]](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation.
40+
41+
### Step 2: Use production context filters
42+
43+
{% data reusables.dependabot.where-to-view-dependabot-alerts %}. For information about accessing this tab, see [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts).
44+
45+
Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters to focus on vulnerabilities affecting artifacts present in production. For example:
46+
47+
```text
48+
artifact-registry-url:my-registry.example.com
49+
artifact-registry:jfrog-artifactory
50+
```
51+
52+
You can also combine these with other filters, such as EPSS.
53+
54+
```text
55+
epss > 0.5 AND artifact-registry-url:my-registry.example.com
56+
```
57+
58+
## Further reading
59+
60+
* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics)

content/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,44 @@ For example:
7676

7777
Each draft appears separately, and you can review and edit them individually. To publish the issues, click **Create** on each one you want to submit.
7878

79+
## Creating sub-issues
80+
81+
You can use {% data variables.product.prodname_copilot_short %} to draft multiple sub-issues.
82+
83+
For example:
84+
85+
`In octo-org/octo-repo, plan a new user dashboard. Break it down into an epic, and create sub-issues for each main feature and task.`
86+
87+
{% data variables.product.prodname_copilot_short %} generates a draft issue tree, with a parent issue at the top level and sub-issues beneath it.
88+
89+
You can review the issue tree, expand or collapse sub-issues, and edit the details of each issue.
90+
91+
Click the parent issue to view its details in the workbench. The parent issue displays a list of sub-issues, and you can click each one to view and edit its details in the workbench. From a sub-issue, use the "Parent" dropdown to navigate through the issue tree. You can also click **Review and create** at the top of the workbench to see the full issue tree and navigate directly to any issue.
92+
93+
{% data variables.product.prodname_copilot_short %} can modify the tree, by unlinking issues or by attaching new drafts.
94+
95+
For example, you can:
96+
* Remove a sub-issue from the issue tree:
97+
`Remove sub-issue NAME_OF_ISSUE from the issue tree`
98+
* Add an additional sub-issue to the issue tree:
99+
`Add an additional sub-issue with ISSUE_DETAILS to the issue tree`
100+
101+
Once you've finished editing the drafts and are ready to publish the issues, click **Review and create** then click **Create issues**.
102+
103+
## Working with existing issues
104+
105+
You can use {% data variables.product.prodname_copilot_short %} to connect new issues with issues that already exist in your repository.
106+
107+
For example, you can:
108+
* Add a sub-issue to an existing parent issue:
109+
`Create a sub-issue for octo-org/octo-repo issue #456.`
110+
* Add a parent issue to an existing issue:
111+
`Create a parent issue for octo-org/octo-repo issue #456.`
112+
* Add a parent issue to multiple existing issues:
113+
`Create a parent issue for octo-org/octo-repo issues #456, #457, and #458.`
114+
115+
The draft appears in the workbench, where you can review and edit it. To publish the issue, click **Review and create**, then click **Create issues**.
116+
79117
## Assigning issues to {% data variables.product.prodname_copilot_short %}
80118

81119
To assign an issue to {% data variables.product.prodname_copilot_short %}, you need to have {% data variables.copilot.copilot_coding_agent %} enabled. See [AUTOTITLE](/copilot/concepts/coding-agent/about-enabling-coding-agent).
@@ -90,3 +128,4 @@ Once the issue is assigned and created, {% data variables.product.prodname_copil
90128
## Further reading
91129

92130
* [AUTOTITLE](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository)
131+
* [AUTOTITLE](/copilot/tutorials/plan-a-project)

content/copilot/tutorials/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ children:
2424
- /build-apps-with-spark
2525
- /modernize-legacy-code
2626
- /migrate-a-project
27+
- /plan-a-project
2728
- /upgrade-projects
2829
- /roll-out-at-scale
2930
redirect_from:
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
title: Planning a project with GitHub Copilot
3+
shortTitle: Plan a project
4+
intro: 'Plan your next project by using {% data variables.product.prodname_copilot %} to turn your ideas into issues.'
5+
permissions: 'Anyone with a {% data variables.product.prodname_copilot_short %} license can use {% data variables.product.prodname_copilot_short %} to create issues.'
6+
topics:
7+
- Copilot
8+
- Issues
9+
- Project management
10+
versions:
11+
feature: copilot
12+
13+
contentType: tutorials
14+
---
15+
16+
> [!NOTE]
17+
> * This feature is in {% data variables.release-phases.public_preview %} and subject to change.
18+
> * The responses shown in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
19+
20+
Manage your project with {% data variables.product.prodname_github_issues %} using {% data variables.product.prodname_copilot_short %}. In this tutorial, you’ll use {% data variables.product.prodname_copilot_short %}’s agentic issue creation features to turn your product idea into epics, features, and tasks. Epics represent large bodies of work, while features and tasks break the work into smaller, actionable pieces. By the end, you’ll have a structured backlog ready to share with your team.
21+
22+
## Project overview
23+
24+
It’s important to define what you want your product to do. In the planning phase of the software development lifecycle (SDLC), you turn ideas into actionable tasks by breaking down your project into epics, features, and smaller pieces of work. This helps you organize your thoughts, set priorities, and prepare your team for development.
25+
26+
When you use {% data variables.product.prodname_copilot_short %}, you drive this process. {% data variables.product.prodname_copilot_short %} can suggest a structure and fill in details, but the best results come when you have a sense of how you want the work to be organized. {% data variables.product.prodname_copilot_short %} works with your input to help you refine, expand, and document your plan.
27+
28+
In this scenario you’ll plan a new shopping website that will allow users to:
29+
* Browse a product catalog with categories and search
30+
* Add items to a shopping cart
31+
* Complete secure checkouts
32+
33+
Your goal is to use {% data variables.product.prodname_copilot_short %} to quickly turn this vision into a structured project plan, creating epics and detailed issues that capture each part of your site.
34+
35+
## Set up repository
36+
37+
Set up a repository with {% data variables.product.prodname_github_issues %} enabled. See [AUTOTITLE](/repositories/creating-and-managing-repositories/creating-a-new-repository).
38+
39+
By default, issues are enabled for new repositories. If you would like to use an existing repository but don’t see the **Issues** tab, follow these steps to enable issues:
40+
1. From the repository, select **Settings**.
41+
1. Under "Features", check the **Issues** box.
42+
43+
## Generate project issues
44+
45+
With the repository set up, you can use {% data variables.product.prodname_copilot_short %} to turn your project vision into a set of actionable issues.
46+
47+
### Start in the {% data variables.product.prodname_copilot_short %} immersive view
48+
49+
{% data reusables.copilot.immersive-mode-instructions %}
50+
1. Using the chat panel, attach the repository for the shopping website. This allows {% data variables.product.prodname_copilot_short %} to access the repository and create issues directly within it.
51+
52+
### Create an epic issue
53+
54+
1. Enter a detailed project description as your prompt. For example:
55+
```I’m planning to create a shopping website in React and Node.js. The site should allow users to browse products by category, search for items, add products to a cart, and complete checkout. Please help me plan the project by creating issues and breaking it down into epics, features, and tasks.```
56+
1. Submit your prompt. {% data variables.product.prodname_copilot_short %} will generate an issue tree, typically with an epic at the top and sub-issues for each main feature or task
57+
58+
![Screenshot of Copilot Chat in immersive mode. Copilot chat displays a list of issues with an epic at the top and several sub-issues beneath it.](/assets/images/help/copilot/copilot-creates-sub-issues.png)
59+
60+
## Navigate the issue tree
61+
62+
1. Click the epic to view its details in the workbench. Navigate through the workbench to explore the issue tree.
63+
1. Each issue typically includes a title and description. Additional metadata such as labels or assignees, can be edited directly in the workbench.
64+
1. You can expand or collapse sub-issues to focus on specific parts of the project.
65+
66+
The issue tree provides a clear overview of your project structure, making it easy to navigate between epics, features, and tasks.
67+
68+
1. In this first iteration of the draft, {% data variables.product.prodname_copilot_short %} may generate only high-level issues. You can refine these issues further by breaking them down into smaller tasks or features. Let's refine the issue "Feature: UI Skeleton and Navigation".
69+
70+
Prompt {% data variables.product.prodname_copilot_short %} with:
71+
```Can you break down the issue "Feature: UI Skeleton and Navigation" into smaller tasks?```
72+
73+
{% data variables.product.prodname_copilot_short %} will generate multiple new sub-issues such as:
74+
* Task: Set up React project structure and initial files
75+
* Task: Create placeholder pages for main routes
76+
* Task: Implement site-wide navigation bar component
77+
* Task: Integrate navigation with routing
78+
* Task: Add basic responsive layout
79+
80+
1. Repeat this process for the remaining feature issues in the epic.
81+
82+
![Screenshot of the Copilot Chat workbench. The workbench displays an issue tree with an epic at the top and several sub-issues beneath it.](/assets/images/help/copilot/copilot-creates-sub-issues-workbench.png)
83+
84+
### Improve issue descriptions
85+
86+
After you finish generating the issue tree you may notice that {% data variables.product.prodname_copilot_short %}’s issue descriptions may be brief or unclear. To make them actionable, refine each issue as needed.
87+
88+
1. Start with the newly generated issue such as "Task: Create placeholder pages for main routes".
89+
90+
Prompt {% data variables.product.prodname_copilot_short %} with:
91+
```Can you improve the description for “Task: Create placeholder pages for main routes”? Please provide a detailed technical summary, list the main routes to be included, outline the steps for implementation, and specify what should be delivered for this task.```
92+
93+
1. {% data variables.product.prodname_copilot_short %} will generate a new version of the draft issue "Task: Create placeholder pages for main routes."
94+
95+
At the top-left of the issue, click the versioning drop-down and select **Version 2** to review the new changes.
96+
1. Review and decide whether to keep {% data variables.product.prodname_copilot_short %}’s revised version, edit further, or prompt again for more detail.
97+
1. Repeat this process for other issues in the epic, refining descriptions and breaking down tasks as needed.
98+
1. Once you’re satisfied with the issue descriptions, click **Create all** to create the issues in your repository.
99+
100+
## Unlink issues
101+
102+
If {% data variables.product.prodname_copilot_short %} generates a sub-issue that doesn't belong to the issue tree, you can unlink it from the issue tree.
103+
104+
1. In the workbench issue tree, click {% octicon "kebab-horizontal" aria-label="More options" %} next to the sub-issue, then click **Unlink sub-issue**.
105+
1. The issue will be unlinked from its parent and will no longer appear under that epic in the tree.
106+
107+
## Next steps
108+
109+
Now that you’ve generated and refined your project issues, you can assign them to the right team members or even to {% data variables.product.prodname_copilot_short %} itself for further assistance. To learn more about how to assign {% data variables.product.prodname_copilot_short %} or contributors to issues, and how to continue planning and implementing your project with {% data variables.product.prodname_copilot_short %}’s agentic features, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/assign-copilot-to-an-issue).
110+
111+
## Further reading
112+
113+
* [AUTOTITLE](/copilot/how-tos/use-copilot-for-common-tasks/use-copilot-to-create-issues)
114+
* [AUTOTITLE](/copilot/tutorials/coding-agent/pilot-coding-agent)
115+
* [AUTOTITLE](/copilot/tutorials/coding-agent/get-the-best-results)
116+
* [AUTOTITLE](/copilot/tutorials/speed-up-development-work)

content/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ You can highlight your knowledge with the {% data variables.product.prodname_GHA
4646

4747
You can certify your ability to optimize and manage a healthy {% data variables.product.prodname_dotcom %} environment with the {% data variables.product.prodname_dotcom %} Admin exam. This exam covers:
4848

49-
* Repository management
49+
* Repository management
5050
* Workflow optimization
5151
* Efficient collaboration
5252

0 commit comments

Comments
 (0)