diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
deleted file mode 100644
index d18fb81db7e..00000000000
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-name: Bug Report
-about: Report a bug encountered while operating Kubernetes
-labels: kind/bug
-
----
-
-
-
-
-#### What happened:
-
-#### What you expected to happen:
-
-#### How to reproduce it (as minimally and precisely as possible):
-
-#### Anything else we need to know?:
-
-#### Environment:
-- Kubernetes version (use `kubectl version`):
-- Cloud provider or hardware configuration:
-- OS (e.g: `cat /etc/os-release`):
-- Kernel (e.g. `uname -a`):
-- Install tools:
-- Network plugin and version (if this is a network-related bug):
-- Others:
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml
new file mode 100644
index 00000000000..37a9cbcd247
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug-report.yaml
@@ -0,0 +1,107 @@
+name: Bug Report
+description: Report a bug encountered while operating Kubernetes
+labels: kind/bug
+body:
+ - type: textarea
+ id: problem
+ attributes:
+ label: What happened?
+ description: |
+ Please provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner.
+ If this matter is security related, please disclose it privately via https://kubernetes.io/security
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: What did you expect to happen?
+ validations:
+ required: true
+
+ - type: textarea
+ id: repro
+ attributes:
+ label: How can we reproduce it (as minimally and precisely as possible)?
+ validations:
+ required: true
+
+ - type: textarea
+ id: additional
+ attributes:
+ label: Anything else we need to know?
+
+ - type: textarea
+ id: kubeVersion
+ attributes:
+ label: Kubernetes version
+ value: |
+
+
+ ```console
+ $ kubectl version
+ # paste output here
+ ```
+
+
+ validations:
+ required: true
+
+ - type: textarea
+ id: cloudProvider
+ attributes:
+ label: Cloud provider
+ value: |
+
+
+
+ validations:
+ required: true
+
+ - type: textarea
+ id: osVersion
+ attributes:
+ label: OS version
+ value: |
+
+
+ ```console
+ # On Linux:
+ $ cat /etc/os-release
+ # paste output here
+ $ uname -a
+ # paste output here
+
+ # On Windows:
+ C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
+ # paste output here
+ ```
+
+
+
+ - type: textarea
+ id: installer
+ attributes:
+ label: Install tools
+ value: |
+
+
+
+
+ - type: textarea
+ id: runtime
+ attributes:
+ label: Container runtime (CRI) and and version (if applicable)
+ value: |
+
+
+
+
+ - type: textarea
+ id: plugins
+ attributes:
+ label: Related plugins (CNI, CSI, ...) and versions (if applicable)
+ value: |
+
+
+
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index cb2f48d6004..4c74dfd79cf 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,4 +1,4 @@
contact_links:
- name: Support Request
- url: https://discuss.kubernetes.io
+ url: https://discuss.kubernetes.io
about: Support request or question relating to Kubernetes
diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md
deleted file mode 100644
index 7dc25b325a6..00000000000
--- a/.github/ISSUE_TEMPLATE/enhancement.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-name: Enhancement Tracking Issue
-about: Provide supporting details for a feature in development
-labels: kind/feature
-
----
-
-
-#### What would you like to be added:
-
-#### Why is this needed:
diff --git a/.github/ISSUE_TEMPLATE/enhancement.yaml b/.github/ISSUE_TEMPLATE/enhancement.yaml
new file mode 100644
index 00000000000..c7b92496fce
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/enhancement.yaml
@@ -0,0 +1,21 @@
+name: Enhancement Tracking Issue
+description: Provide supporting details for a feature in development
+labels: kind/feature
+body:
+ - type: textarea
+ id: feature
+ attributes:
+ label: What would you like to be added?
+ description: |
+ Feature requests are unlikely to make progress as issues. Please consider engaging with SIGs on slack and mailing lists, instead.
+ A proposal that works through the design along with the implications of the change can be opened as a KEP.
+ See https://git.k8s.io/enhancements/keps#kubernetes-enhancement-proposals-keps
+ validations:
+ required: true
+
+ - type: textarea
+ id: rationale
+ attributes:
+ label: Why is this needed?
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/failing-test.md b/.github/ISSUE_TEMPLATE/failing-test.md
deleted file mode 100644
index 32da3130610..00000000000
--- a/.github/ISSUE_TEMPLATE/failing-test.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-name: Failing Test
-about: Report continuously failing tests or jobs in Kubernetes CI
-labels: kind/failing-test
-
----
-
-
-
-#### Which jobs are failing:
-
-#### Which test(s) are failing:
-
-#### Since when has it been failing:
-
-#### Testgrid link:
-
-#### Reason for failure:
-
-#### Anything else we need to know:
-
-#### Relevant SIG
-
-/sig
diff --git a/.github/ISSUE_TEMPLATE/failing-test.yaml b/.github/ISSUE_TEMPLATE/failing-test.yaml
new file mode 100644
index 00000000000..4f0469d5517
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/failing-test.yaml
@@ -0,0 +1,48 @@
+name: Failing Test
+description: Report continuously failing tests or jobs in Kubernetes CI
+labels: kind/failing-test
+body:
+ - type: textarea
+ id: jobs
+ attributes:
+ label: Which jobs are failing?
+ placeholder: |
+ Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI.
+ validations:
+ required: true
+
+ - type: textarea
+ id: tests
+ attributes:
+ label: Which tests are failing?
+ validations:
+ required: true
+
+ - type: textarea
+ id: since
+ attributes:
+ label: Since when has it been failing?
+ validations:
+ required: true
+
+ - type: input
+ id: testgrid
+ attributes:
+ label: Testgrid link
+
+ - type: textarea
+ id: reason
+ attributes:
+ label: Reason for failure (if possible)
+
+ - type: textarea
+ id: additional
+ attributes:
+ label: Anything else we need to know?
+
+ - type: textarea
+ id: sigs
+ attributes:
+ label: Relevant SIG(s)
+ description: You can identify the SIG from the "prowjob_config_url" on the testgrid dashboard for a test.
+ value: /sig
diff --git a/.github/ISSUE_TEMPLATE/flaking-test.md b/.github/ISSUE_TEMPLATE/flaking-test.md
deleted file mode 100644
index 5b1806fcb4d..00000000000
--- a/.github/ISSUE_TEMPLATE/flaking-test.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-name: Flaking Test
-about: Report flaky tests or jobs in Kubernetes CI
-labels: kind/flake
-
----
-
-
-
-#### Which jobs are flaking:
-
-#### Which test(s) are flaking:
-
-#### Testgrid link:
-
-#### Reason for failure:
-
-#### Anything else we need to know:
-- links to go.k8s.io/triage appreciated
-- links to specific failures in spyglass appreciated
-
-#### Relevant SIG
-
-/sig
-
-
diff --git a/.github/ISSUE_TEMPLATE/flaking-test.yaml b/.github/ISSUE_TEMPLATE/flaking-test.yaml
new file mode 100644
index 00000000000..7bf0e512367
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/flaking-test.yaml
@@ -0,0 +1,50 @@
+name: Flaking Test
+description: Report flaky tests or jobs in Kubernetes CI
+labels: kind/flake
+body:
+ - type: textarea
+ id: jobs
+ attributes:
+ label: Which jobs are flaking?
+ description: |
+ Please only use this template for submitting reports about flaky tests or jobs (pass or fail with no underlying change in code) in Kubernetes CI.
+ Links to go.k8s.io/triage and/or links to specific failures in spyglass are appreciated.
+ Please see the deflaking doc (https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/flaky-tests.md) for more guidance.
+ validations:
+ required: true
+
+ - type: textarea
+ id: tests
+ attributes:
+ label: Which tests are flaking?
+ validations:
+ required: true
+
+ - type: textarea
+ id: since
+ attributes:
+ label: Since when has it been flaking?
+ validations:
+ required: true
+
+ - type: input
+ id: testgrid
+ attributes:
+ label: Testgrid link
+
+ - type: textarea
+ id: reason
+ attributes:
+ label: Reason for failure (if possible)
+
+ - type: textarea
+ id: additional
+ attributes:
+ label: Anything else we need to know?
+
+ - type: textarea
+ id: sigs
+ attributes:
+ label: Relevant SIG(s)
+ description: You can identify the SIG from the "prowjob_config_url" on the testgrid dashboard for a test.
+ value: /sig