Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Docs changelog

<<<<<<< changelog-update-1772664132
**4 March 2026**

We've published a new article to coincide with the public preview of the Copilot coding agent for Jira integration.

See [Integrating Copilot coding agent with Jira](https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-jira).
=======
**5 March 2026**

We've updated our documentation to include a series of articles about the GitHub integration in Teams (previously, docs for the integration lived in a public repository).

See [GitHub integration in Teams](https://docs.github.com/integrations/how-tos/teams).
>>>>>>> main

<hr>

**3 March 2026**

We've added a new reference article, [Copilot customization cheat sheet](https://docs.github.com/copilot/reference/customization-cheat-sheet), to help you choose the right Copilot customization approach for your workflow.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ shortTitle: Configure

{% data reusables.community.issue-forms-beta %}

With issue forms, you can create issue templates that have customizable web form fields. You can encourage contributors to include specific, structured information by using issue forms in your repository. Issue forms are written in YAML using the {% data variables.product.prodname_dotcom %} form schema. For more information, see [AUTOTITLE](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema). {% data reusables.actions.learn-more-about-yaml %}
With issue forms, you can create issue templates that have customizable web form fields. You can encourage contributors to include specific, structured information by using issue forms in your repository.

{% ifversion issue-form-upload %}Issue forms support several field types, including text inputs, dropdowns, checkboxes, and file uploads.{% endif %} Issue forms are written in YAML using the {% data variables.product.prodname_dotcom %} form schema. For more information, see [AUTOTITLE](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema). {% data reusables.actions.learn-more-about-yaml %}

To use an issue form in your repository, you must create a new file and add it to the `.github/ISSUE_TEMPLATE` folder in your repository.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ For each form element, you can set the following keys.

| Key | Description | Required | Type | Default | Valid values |
| --- | ----------- | -------- | ---- | ------- | ------- |
| `type` | The type of element that you want to define. | {% octicon "check" aria-label="Required" %} | String | {% octicon "dash" aria-label="Not applicable" %} | <ul><li>`checkboxes`</li><li>`dropdown`</li><li>`input`</li><li>`markdown`</li><li>`textarea`</li></ul> |
| `type` | The type of element that you want to define. | {% octicon "check" aria-label="Required" %} | String | {% octicon "dash" aria-label="Not applicable" %} | <ul><li>`checkboxes`</li><li>`dropdown`</li><li>`input`</li><li>`markdown`</li><li>`textarea`</li>{% ifversion issue-form-upload %}<li>`upload`</li>{% endif %}</ul> |
| `id` | The identifier for the element, except when `type` is set to `markdown`. {% data reusables.form-schema.id-must-be-unique %} If provided, the `id` is the canonical identifier for the field in URL query parameter prefills. | {% octicon "x" aria-label="Optional" %} | String | {% octicon "dash" aria-label="Not applicable" %} | {% octicon "dash" aria-label="Not applicable" %} |
| `attributes` | A set of key-value pairs that define the properties of the element. | {% octicon "check" aria-label="Required" %} | Map | {% octicon "dash" aria-label="Not applicable" %} | {% octicon "dash" aria-label="Not applicable" %} |
| `validations` | A set of key-value pairs that set constraints on the element. | {% octicon "x" aria-label="Optional" %} | Map | {% octicon "dash" aria-label="Not applicable" %} | {% octicon "dash" aria-label="Not applicable" %} |
Expand All @@ -73,6 +73,9 @@ You can choose from the following types of form elements. Each type has unique a
| [`input`](#input) | A single-line text field. |
| [`dropdown`](#dropdown) | A dropdown menu. |
| [`checkboxes`](#checkboxes) | A set of checkboxes. |
| {% ifversion issue-form-upload %} |
| [`upload`](#upload) | A file upload field. |
| {% endif %} |

### `markdown`

Expand Down Expand Up @@ -266,6 +269,58 @@ body:
- label: Linux
```

{% ifversion issue-form-upload %}

### `upload`

You can use an `upload` element to add a file upload field to your form. Contributors can drag and drop files or click to browse and select files directly within the form.

#### Supported file types and size limits

The following file types are accepted, subject to the size limits below:

| Category | Extensions | Size limit |
|-----------| ---------- | -------- |
| Archives | `.zip`, `.gz`, `.tar.gz` | 25 MB |
| Documents | `.pdf`, `.docx`, `.xlsx`, `.pptx` | 25 MB |
| Images | `.png`, `.jpg`, `.jpeg`, `.gif`, `.svg`, `.webp` | 10 MB |
| Videos | `.mp4`, `.mov`, `.webm` | 100 MB |
| Text | `.json`, `.py`, `.js`, `.ts`, `.log`, `.txt`, `.csv` | 25 MB |

#### Attributes for `upload`

{% data reusables.form-schema.attributes-intro %}

| Key | Description | Required | Type | Default | Valid values |
| --- | ----------- | -------- | ---- | ------- | ------- |
| `label` | A brief description of the expected file upload, which is displayed in the form. | {% octicon "check" aria-label="Required" %} | String | {% octicon "dash" aria-label="Not applicable" %} | {% octicon "dash" aria-label="Not applicable" %} |
| `description` | A description of the file upload field to provide context or guidance, which is displayed in the form. | {% octicon "x" aria-label="Optional" %} | String | Empty String | {% octicon "dash" aria-label="Not applicable" %} |

#### Validations for `upload`

{% data reusables.form-schema.validations-intro %}

| Key | Description | Required | Type | Default | Valid values |
| --- | ----------- | -------- | ---- | ------- | ------- |
{% data reusables.form-schema.required-key %}
| `accept` | A comma-separated list of file extensions that are accepted. If omitted, all supported file types are accepted. | {% octicon "x" aria-label="Optional" %} | String | {% octicon "dash" aria-label="Not applicable" %} | {% octicon "dash" aria-label="Not applicable" %} |

#### Example of `upload`

```yaml copy
body:
- type: upload
id: screenshots
attributes:
label: Upload relevant files
description: "Drag and drop any relevant screenshots or log files."
validations:
required: false
accept: ".png,.jpg,.gif,.log,.txt,.zip"
```

{% endif %}

## Further reading

* [YAML](https://yaml.org)
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Currently, {% data variables.copilot.copilot_coding_agent %} supports integratio
* **Slack**: [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack) - Learn how to set up the Slack integration to trigger {% data variables.copilot.copilot_coding_agent %} directly from your Slack workspace.
* **Linear**: [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-linear) - Learn how to set up the Linear integration to trigger {% data variables.copilot.copilot_coding_agent %} directly from your Linear issues.
* **Azure Boards**: [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-azure-boards) - Learn how to set up the Azure Boards integration to trigger {% data variables.copilot.copilot_coding_agent %} directly from your Azure Boards work items.
* **Jira**: [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-jira) - Learn how to set up the Jira integration to trigger {% data variables.copilot.copilot_coding_agent %} directly from your Jira workspace.

## Benefits of integrations

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@ category:
After {% data variables.product.prodname_copilot_short %} has finished working on a coding task, and has requested a pull request review from you, you should review {% data variables.product.prodname_copilot_short %}'s work thoroughly before merging the pull request.

> [!IMPORTANT]
> If you have branch protection rules that require pull request approvals, and you initiate a pull request by assigning an issue to {% data variables.product.prodname_copilot_short %}, you can approve the pull request, but **your approval won't count** toward the required number of approvals. Someone else must approve the pull request for it to be merged.
>
> Additionally, if the "Require approval of the most recent reviewable push" setting is enabled, the final push to the pull request will require **n + 1 approvals**, where _n_ is the number of required approvals. The person who initiated the original {% data variables.product.prodname_copilot_short %} pull request can't be counted among the required reviewers for that final push—but if someone else requested the latest {% data variables.product.prodname_copilot_short %}-generated change, their approval **can** count.
> If you have rules or branch protections that require pull request approvals, and you ask {% data variables.product.prodname_copilot_short %} to create a pull request, you can approve the pull request, but **your approval won't count** toward the required number of approvals. Someone else must approve the pull request for it to be merged.

You can ask {% data variables.product.prodname_copilot_short %} to make changes by mentioning `@copilot` in pull request comments, or you can check out {% data variables.product.prodname_copilot_short %}'s branch and make changes yourself.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,14 @@ You can insert breaks into your iterations to communicate when you are taking ti
![Screenshot of the list of iterations for a project. On the line dividing two iterations, a button, labeled "Insert break," is outlined in orange.](/assets/images/help/issues/iteration-insert-break.png)
1. Optionally, to change the duration of the break, click on the date to open the calendar. Click on the start day, then click the end day, and then click **Apply**.
1. Click **Save changes**.

## Moving items between iterations

When a project view is grouped by an iteration field, you can bulk-move all items from one iteration to another. This is useful for rolling over unfinished work to the next sprint, rescheduling items during reprioritization, or clearing a backlog iteration.

1. Navigate to your project.
1. In your project, group a view by an iteration field. For more information, see [AUTOTITLE](/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-the-table-layout#grouping-by-field-values).
1. Click {% octicon "kebab-horizontal" aria-label="iteration options" %} in the group header for the iteration you want to move items from.
1. Click **Move items to...**.
1. Select the target iteration you want to move the items to.
1. Confirm the move. All items in the group are updated to the target iteration.
6 changes: 6 additions & 0 deletions data/features/issue-form-upload.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Reference: https://github.com/github/releases/issues/7534
# File upload field in issue forms
versions:
fpt: '*'
ghec: '*'
ghes: '>= 3.21'
9 changes: 8 additions & 1 deletion data/reusables/community/issue-forms-sample.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,12 @@ body:
description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com).
options:
- label: I agree to follow this project's Code of Conduct
required: true
required: true{% ifversion issue-form-upload %}
- type: upload
id: screenshots
attributes:
label: Upload screenshots
description: If applicable, add screenshots to help explain your problem.
validations:
required: false{% endif %}
```
3 changes: 1 addition & 2 deletions data/reusables/projects/open-view-menu.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
1. Click {% octicon "triangle-down" aria-label="View options" %} next to the name of the currently open view.
1. Click **{% octicon "gear" aria-label="View options" %} View** next to the search bar of the currently open view.

![Screenshot showing the tabs at the top of a project. The view menu icon is highlighted with an orange outline.](/assets/images/help/projects-v2/view-menu-icon.png)