Skip to content

Commit 444b8ba

Browse files
committed
Use form-based issue templates
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 2aa57b4 commit 444b8ba

File tree

4 files changed

+179
-26
lines changed

4 files changed

+179
-26
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.yml
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: textarea
10+
id: description
11+
attributes:
12+
label: Describe the problem
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: reproduce
17+
attributes:
18+
label: To reproduce
19+
description: Provide the specific set of steps we can follow to reproduce the problem.
20+
validations:
21+
required: true
22+
- type: textarea
23+
id: expected
24+
attributes:
25+
label: Expected behavior
26+
description: What would you expect to happen after following those instructions?
27+
validations:
28+
required: true
29+
- type: input
30+
id: project-version
31+
attributes:
32+
label: Arduino Language Server version
33+
description: |
34+
Which version of Arduino Language Server are you using?
35+
_This should be the most recent version available._
36+
validations:
37+
required: true
38+
- type: input
39+
id: cli-version
40+
attributes:
41+
label: Arduino CLI version
42+
description: |
43+
Which version of Arduino CLI are you using?
44+
(output of `arduino-cli version`)
45+
validations:
46+
required: true
47+
- type: dropdown
48+
id: os
49+
attributes:
50+
label: Operating system
51+
description: Which operating system(s) are you using on your computer?
52+
multiple: true
53+
options:
54+
- Windows
55+
- Linux
56+
- macOS
57+
- N/A
58+
validations:
59+
required: true
60+
- type: input
61+
id: os-version
62+
attributes:
63+
label: Operating system version
64+
description: Which version of the operating system are you using on your computer?
65+
validations:
66+
required: true
67+
- type: textarea
68+
id: additional
69+
attributes:
70+
label: Additional context
71+
description: Add any additional information here.
72+
validations:
73+
required: false
74+
- type: checkboxes
75+
id: checklist
76+
attributes:
77+
label: Issue checklist
78+
description: Please double-check that you have done each of the following things before submitting the issue.
79+
options:
80+
- label: I searched for previous reports in [the issue tracker](https://github.com/arduino/arduino-language-server/issues?q=)
81+
required: true
82+
- label: I verified the problem still occurs when using the latest version
83+
required: true
84+
- label: My report contains all necessary details
85+
required: true

.github/ISSUE_TEMPLATE/bug_report.md

-26
This file was deleted.

.github/ISSUE_TEMPLATE/config.yml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/template-choosers/general/config.yml
2+
# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
3+
4+
blank_issues_enabled: true
5+
contact_links:
6+
- name: Learn about using this project
7+
url: https://github.com/arduino/arduino-language-server#readme
8+
about: Detailed usage documentation is available here.
9+
- name: Support request
10+
url: https://forum.arduino.cc/
11+
about: We can help you out on the Arduino Forum!
12+
- name: Discuss development work on the project
13+
url: https://groups.google.com/a/arduino.cc/g/developers
14+
about: Arduino Developers Mailing List
+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.yml
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: textarea
10+
id: description
11+
attributes:
12+
label: Describe the request
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: current
17+
attributes:
18+
label: Describe the current behavior
19+
description: |
20+
What is the current behavior of Arduino Language Server in relation to your request?
21+
How can we reproduce that behavior?
22+
validations:
23+
required: true
24+
- type: input
25+
id: project-version
26+
attributes:
27+
label: Arduino Language Server version
28+
description: |
29+
Which version of Arduino Language Server are you using?
30+
_This should be the most recent version available._
31+
validations:
32+
required: true
33+
- type: input
34+
id: cli-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+
validations:
41+
required: true
42+
- type: dropdown
43+
id: os
44+
attributes:
45+
label: Operating system
46+
description: Which operating system(s) are you using on your computer?
47+
multiple: true
48+
options:
49+
- Windows
50+
- Linux
51+
- macOS
52+
- N/A
53+
validations:
54+
required: true
55+
- type: input
56+
id: os-version
57+
attributes:
58+
label: Operating system version
59+
description: Which version of the operating system are you using on your computer?
60+
validations:
61+
required: true
62+
- type: textarea
63+
id: additional
64+
attributes:
65+
label: Additional context
66+
description: Add any additional information here.
67+
validations:
68+
required: false
69+
- type: checkboxes
70+
id: checklist
71+
attributes:
72+
label: Issue checklist
73+
description: Please double-check that you have done each of the following things before submitting the issue.
74+
options:
75+
- label: I searched for previous requests in [the issue tracker](https://github.com/arduino/arduino-language-server/issues?q=)
76+
required: true
77+
- label: I verified the feature was still missing when using the latest version
78+
required: true
79+
- label: My request contains all necessary details
80+
required: true

0 commit comments

Comments
 (0)