Issue Form

The first interaction point users will have with your IssueOps workflow is the issue itself. This is where they will provide the information needed to kick off the workflow. Because of this, it is important to make sure that the issue form template is set up to capture all the information you need to get started.For more information on the supported options, see Syntax for issue forms.

Top-level syntax

The top-level syntax of the issue form template is used to define the title and description that users will see when they go to create an issue in your repository. From a usability perspective, make sure to include a description and title that clearly explains what the user is requesting and what will happen once they submit their issue.
1name: Create a new repository
2description: |
3  Once opened, this issue will cause a new GitHub repository to be created in
4  the `octocat` organization. You will be granted access as a collaborator so
5  you can build something awesome!
6labels:
7  - issueops:new-repository
8projects:
9  - octocat/123
10body:
11  # ...

Body syntax

The body property is where you specify the inputs and any other supporting information you need to collect from the user. Its important to make sure to collect all the information you need to get started, but also to make sure that the form is not too long or complicated.As you are drafting your issue form template, think about the kind of data you are requesting and the best format to use (both for user input and for automated processing later).This can be confusing, because once an issue form is submitted, all the inputs look the same. Suppose you have the following issue form template:
1name: New Repo Request
2description: Submit a request to create a new GitHub repository
3title: '[Request] New Repository'
4labels:
5  - issueops:new-repository
6
7body:
8  # Markdown type fields are not included in the submitted issue body
9  - type: markdown
10    attributes:
11      value:
12        Welcome to GitHub! Please fill out the information below to request a
13        new repository. Once submitted, your request will be reviewed by the
14        IssueOps team. If approved, the repository will be created and you will
15        be notified via a comment on this issue.
16  - type: input
17    id: name
18    attributes:
19      label: Repository Name
20      description: The name of the repository you would like to create.
21      placeholder: octorepo
22    validations:
23      required: true
24  - type: dropdown
25    id: visibility
26    attributes:
27      label: Repository Visibility
28      description: The visibility of the repository.
29      multiple: false
30      options:
31        - private
32        - public
33    validations:
34      required: true
35  - type: dropdown
36    id: topics
37    attributes:
38      label: Repository Topics
39      description: The topics to add to the repository.
40      multiple: true
41      options:
42        - octocat
43        - issueops
44        - automation
45    validations:
46      required: true
47  - type: checkboxes
48    id: confirm
49    attributes:
50      label: Confirmation
51      description: Do you confirm this request?
52      options:
53        - label: 'Yes'
54          required: true
55        - label: 'No'
56          required: false
When the user submits the issue form, it will have the following Markdown format:
1### Repository Name
2
3octorepo
4
5### Repository Visibility
6
7public
8
9### Repository Topics
10
11octocat, issueops
12
13### Confirmation
14
15- [x] Yes
16- [ ] No
You can see that certain inputs look the same, but are actually different types and, depending on their values, may be processed differently.