-
Notifications
You must be signed in to change notification settings - Fork 201
/
.repoman.yml
131 lines (102 loc) · 4.11 KB
/
.repoman.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
revision: 2
schema-version: 5
owner-ms-alias: adegeo
config:
DocMetadata:
Headers:
- ["---", "#### "]
ParserRegex: "^\\* (.*): (.*)$"
ContentUrlRegex:
- "### Page URL\n\n(.*)"
issues:
unlabeled: "labeled"
labeled:
# Temporary label to mark issues as updated for Quest. The label is instantly removed
- check:
- type: query
value: "length(Issue.Labels[?Name == ':world_map: mapQUEST']) != `0`"
pass:
- labels-remove: [":world_map: mapQUEST"]
# Handle issues with /svc /subsvc labels from label bot
- check:
- type: query
value: "length(Issue.Labels[?contains(Name, '/svc') || contains(Name, '/subsvc')]) != `0`"
# If the issue has a /svc or /subsvc label, it must be categorized otherwise it's considered untriaged
pass:
- check:
- type: query
value: "length(Issue.Labels[?Name == ':pushpin: seQUESTered' || Name == ':world_map: reQUEST' || Name == 'training-module' || Name == 'doc-enhancement' || Name == 'product-question' || Name == 'in-progress' || Name == 'test-issue' || Name == 'kudos' || Name == 'loc' || Name == 'doc-bug' || Name == 'product-feedback' || Name == 'code-of-conduct' || Name == 'support-request' || Name == 'duplicate' || Name == 'resolved-by-customer' || Name == 'docs-experience' || Name == 'doc-provided' || Name == 'doc-idea' || Name == 'needs-more-info']) != `0`"
pass:
- labels-remove: [":watch: Not Triaged"]
fail:
- labels-add: [":watch: Not Triaged"]
# Not an doc issue specifically
fail:
# If the issue is open, then we'll allow some further processing on it. If it's closed, ignore it and let the user do what they want.
- check:
- type: query
value: "Issue.State.StringValue == 'open'"
pass:
- check:
- type: query
value: "length(Issue.Labels[?Name == ':pushpin: seQUESTered' || Name == ':world_map: reQUEST' || Name == 'training-module' || Name == 'video-content'] || Name == 'test-issue') != `0`"
pass:
- labels-remove: [":watch: Not Triaged"]
fail:
- labels-add: [":watch: Not Triaged"]
opened:
# New issue opened, add Not Triaged
- labels-add: [":watch: Not Triaged"]
# Dependabot opened issue, label it
- check:
- type: query
value: "Issue.User.Login == 'dependabot'"
pass:
- labels-add: ["dependencies"]
# Try to detect an empty issue
- check:
- type: comment-body
value: "### Description[\\n\\r]+\\[Enter feedback here\\][\\n\\r]+###"
pass:
- labels-add: ["needs-more-info"]
- labels-remove: [":watch: Not Triaged"]
- close
# Add links to related issues if it's a doc issue
- check:
- type: metadata-exists
- type: variable-exists
name: "document_version_independent_id"
pass:
- link-related-issues
reopened:
# Remove won't fix label
- labels-remove: ["won't fix"]
closed:
# Issue closed, remove in-progress and not triaged labels
- labels-remove: ["in-progress", ":watch: Not Triaged"]
# Check if the issue was closed by the user who opened it
- check:
- type: query
value: "Issue.User.Id == EventPayload.sender.id"
pass:
- labels-add: ["resolved-by-customer"]
- labels-remove: [":watch: Not Triaged"]
projects_v2_item:
reordered:
- labels-add: [":world_map: mapQUEST"]
edited:
- check:
- type: query
value: "EventPayload.changes.field_value.field_name == 'Priority' || EventPayload.changes.field_value.field_name == 'Size'"
pass:
- labels-add: [":world_map: mapQUEST"]
issue_comment:
created:
# someone creates a comment with #please-review in it, add changes-addressed label
- check:
- type: query
value: "Issue.State.StringValue == 'open' && Issue.User.Id == Comment.User.Id"
- type: comment-body
value: ^#please-review$
pass:
- labels-add: ["changes-addressed"]