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.Labels and Projects
Make sure to label your issues and assign them to projects!
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
Thebody
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.Labels and Projects
If there's a way you can calculate certain information, consider doing that instead of asking the user to provide additional inputs. For example, you can get the user's GitHub username from the issue metadata (
${{ github.event.issue.user.login }}
) instead of asking them to provide it.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.