Skip to content

Commit 554c49d

Browse files
authored
[skip changelog] Use form-based issue templates (#1729)
High quality feedback via GitHub issues is a very valuable contribution to the project. It is important to make the issue creation and management process as efficient as possible for the contributors, maintainers, and developers. Issue templates are helpful to the maintainers and developers because it establishes a standardized framework for the issues and encourages the contributors to provide the essential information. The contributor is now presented with a web form when creating an issue. This consists of multi-line input fields that have the same formatting, preview, and attachment capabilities as the standard GitHub Issue composer, in addition to menus and checkboxes where appropriate. The use of this form-based system should provide a much better experience for the contributors and also result in higher quality issues by establishing a standardized framework for the issues and encouraging contributors to provide the essential information. A template chooser allows the contributor to select the appropriate template type, redirects support requests to the appropriate communication channels via "Contact Links", and provides a prominent link to security policy to guide any vulnerability disclosures. The clear separation of the types of issues encourages the reporter to fit their report into a specific issue category, resulting in more clarity. Automatic labeling according to template choice allows the reporter to do the initial classification.
1 parent 65f662a commit 554c49d

File tree

4 files changed

+173
-25
lines changed

4 files changed

+173
-25
lines changed

Diff for: .github/ISSUE_TEMPLATE/bug-report.yml

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.md
2+
# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
3+
4+
name: Bug report
5+
description: Report a problem with the code or documentation in this repository.
6+
labels:
7+
- "type: imperfection"
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Please see the [contributor guide](https://arduino.github.io/arduino-cli/dev/CONTRIBUTING/) for more information.
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Describe the problem
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: reproduce
21+
attributes:
22+
label: To reproduce
23+
description: Provide the specific set of steps we can follow to reproduce the problem.
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: expected
28+
attributes:
29+
label: Expected behavior
30+
description: What would you expect to happen after following those instructions?
31+
validations:
32+
required: true
33+
- type: input
34+
id: project-version
35+
attributes:
36+
label: Arduino CLI version
37+
description: |
38+
Which version of Arduino CLI are you using?
39+
(output of `arduino-cli version`)
40+
_This should be the [nightly build](https://arduino.github.io/arduino-cli/dev/installation/#nightly-builds)._
41+
validations:
42+
required: true
43+
- type: dropdown
44+
id: os
45+
attributes:
46+
label: Operating system
47+
description: Which operating system(s) are you using on your computer?
48+
multiple: true
49+
options:
50+
- Windows
51+
- Linux
52+
- macOS
53+
- N/A
54+
validations:
55+
required: true
56+
- type: input
57+
id: os-version
58+
attributes:
59+
label: Operating system version
60+
description: Which version of the operating system are you using on your computer?
61+
validations:
62+
required: true
63+
- type: textarea
64+
id: additional
65+
attributes:
66+
label: Additional context
67+
description: Add any additional information here.
68+
validations:
69+
required: false
70+
- type: checkboxes
71+
id: checklist
72+
attributes:
73+
label: Issue checklist
74+
description: Please double-check that you have done each of the following things before submitting the issue.
75+
options:
76+
- label: I searched for previous reports in [the issue tracker](https://github.com/arduino/arduino-cli/issues?q=)
77+
required: true
78+
- label: I verified the problem still occurs when using the [nightly build](https://arduino.github.io/arduino-cli/dev/installation/#nightly-builds)
79+
required: true
80+
- label: My report contains all necessary details
81+
required: true

Diff for: .github/ISSUE_TEMPLATE/bug_report.md

-25
This file was deleted.

Diff for: .github/ISSUE_TEMPLATE/config.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Source:
2+
# https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/template-choosers/general/config.yml
3+
# See:
4+
# https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
5+
6+
blank_issues_enabled: false
7+
contact_links:
8+
- name: Learn about using this project
9+
url: https://arduino.github.io/arduino-cli/dev/
10+
about: Detailed usage documentation is available here.
11+
- name: Support request
12+
url: https://forum.arduino.cc/c/software/arduino-cli/89
13+
about: We can help you out on the Arduino Forum!
14+
- name: Discuss development work on the project
15+
url: https://groups.google.com/a/arduino.cc/g/developers
16+
about: Arduino Developers Mailing List

Diff for: .github/ISSUE_TEMPLATE/feature-request.yml

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.md
2+
# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
3+
4+
name: Feature request
5+
description: Suggest an enhancement to this project.
6+
labels:
7+
- "type: enhancement"
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Please see the [contributor guide](https://arduino.github.io/arduino-cli/dev/CONTRIBUTING/) for more information.
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Describe the request
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: current
21+
attributes:
22+
label: Describe the current behavior
23+
description: |
24+
What is the current behavior of Arduino CLI in relation to your request?
25+
How can we reproduce that behavior?
26+
validations:
27+
required: true
28+
- type: input
29+
id: project-version
30+
attributes:
31+
label: Arduino CLI version
32+
description: |
33+
Which version of Arduino CLI are you using?
34+
(output of `arduino-cli version`)
35+
_This should be the [nightly build](https://arduino.github.io/arduino-cli/dev/installation/#nightly-builds)._
36+
validations:
37+
required: true
38+
- type: dropdown
39+
id: os
40+
attributes:
41+
label: Operating system
42+
description: Which operating system(s) are you using on your computer?
43+
multiple: true
44+
options:
45+
- Windows
46+
- Linux
47+
- macOS
48+
- N/A
49+
validations:
50+
required: true
51+
- type: input
52+
id: os-version
53+
attributes:
54+
label: Operating system version
55+
description: Which version of the operating system are you using on your computer?
56+
validations:
57+
required: true
58+
- type: textarea
59+
id: additional
60+
attributes:
61+
label: Additional context
62+
description: Add any additional information here.
63+
validations:
64+
required: false
65+
- type: checkboxes
66+
id: checklist
67+
attributes:
68+
label: Issue checklist
69+
description: Please double-check that you have done each of the following things before submitting the issue.
70+
options:
71+
- label: I searched for previous requests in [the issue tracker](https://github.com/arduino/arduino-cli/issues?q=)
72+
required: true
73+
- label: I verified the feature was still missing when using the [nightly build](https://arduino.github.io/arduino-cli/dev/installation/#nightly-builds)
74+
required: true
75+
- label: My request contains all necessary details
76+
required: true

0 commit comments

Comments
 (0)