Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/policies/auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ configuration:
label: ':octocat: auto-merge'
- targetsBranch:
branch: main
- or:
- isActivitySender:
user: dotnet-policy-service[bot]
- isActivitySender:
user: dotnet-policy-service[bot]
then:
- enableAutoMerge:
mergeMethod: Squash
Expand Down Expand Up @@ -46,3 +45,4 @@ configuration:
label: ':octocat: auto-merge'
then:
- disableAutoMerge

27 changes: 25 additions & 2 deletions .github/policies/close-issues.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Stale issues
description: Close needs-more-info issues that haven't had a response in 14 days
name: Close issues
description: Close issues based on label
resource: repository
where:
configuration:
Expand All @@ -19,3 +19,26 @@ configuration:
- addReply:
reply: This issue has been automatically closed due to no response from the original author. Feel free to reopen it if you have more information that can help us investigate the issue further.
- closeIssue

eventResponderTasks:
- description: Remove needs-more-info label when author comments on issue
if:
- payloadType: Issue_Comment
- isAction:
action: Created
- isActivitySender:
issueAuthor: True
- hasLabel:
label: needs-more-info
- isOpen
then:
- removeLabel:
label: needs-more-info

- description: Close issues labeled 'code-of-conduct'
if:
- payloadType: Issues
- hasLabel:
label: code-of-conduct
then:
- closeIssue
28 changes: 28 additions & 0 deletions .github/policies/issueManagement-emptyIssue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
id: issueManagement.emptyIssue
name: GitOps.EmptyIssue
description: Checks for an issue created via learn that has an empty description from the template.
owner:
resource: repository
disabled: false
where:
configuration:
resourceManagementConfiguration:
eventResponderTasks:
- description: Close an issue created with the learn template that has an empty body.
if:
- payloadType: Issues
- bodyContains:
pattern: '### Description[\n\r]+\[Enter feedback here\][\n\r]+###'
isRegex: true
then:
- addLabel: 'needs-more-info'
- removeLabel: ':watch: Not Triaged'
- closeIssue

triggerOnOwnActions: false

onFailure:
onSuccess:



54 changes: 54 additions & 0 deletions .github/policies/issueManagement-notTriaged.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
id: issueManagement.notTriaged
name: GitOps.NotTriagedHandler
description: Ensures the Not Triaged label is added or removed when appropriate
owner:
resource: repository
disabled: false
where:
configuration:
resourceManagementConfiguration:
eventResponderTasks:
- description: >-
Add "not triaged" label when:
* Issue is opened
* Issue is reopened
* 'needs-more-info' label removed
if:
- payloadType: Issues
- or:

- or:
- isAction:
action: Opened
- isAction:
action: Reopened

- labelRemoved:
label: 'needs-more-info'
then:
- addLabel: ':watch: Not Triaged'
triggerOnOwnActions: false

- description: >-
Remove "not triaged" label when:
* Issue author closes the issue
* reQUEST label is added
if:
- payloadType: Issues
- hasLabel:
label: ':watch: Not Triaged'
- or:
- and:
- isAction:
action: Closed
- isActivitySender:
issueAuthor: true

- labelAdded:
label: ':world_map: reQUEST'
then:
- removeLabel: ':watch: Not Triaged'
triggerOnOwnActions: false

onFailure:
onSuccess:
56 changes: 53 additions & 3 deletions .github/policies/label-issues.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
id:
name: GitOps.PullRequestIssueManagement
description: GitOps.PullRequestIssueManagement primitive
id: label.issues
name: GitOps.IssueManagement
description: Management logic around issues
owner:
resource: repository
disabled: false
Expand All @@ -24,6 +24,56 @@ configuration:
label: okr-quality

eventResponderTasks:
- description: Label dependabot issues
if:
- payloadType: Issues
- isAction:
action: Opened
- or:
- isActivitySender:
user: dependabot
- isActivitySender:
user: dependabot[bot]
then:
- addLabel:
label: dependencies

- description: Reopen issue so remove "won't fix" label
if:
- payloadType: Issues
- isAction:
action: Reopened
- hasLabel:
label: "won't fix"

then:
- removeLabel:
label: "won't fix"

- description: Remove "in-progress" label when issue closed
if:
- payloadType: Issues
- isAction:
action: Closed
- hasLabel:
label: 'in-progress'

then:
- removeLabel:
label: 'in-progress'

- description: Issue closed by author, add "resolved-by-customer" label
if:
- payloadType: Issues
- isAction:
action: Closed
- isActivitySender:
issueAuthor: true

then:
- addLabel:
label: resolved-by-customer

- description: Add in-pr label to issues
if:
- payloadType: Pull_Request
Expand Down
25 changes: 25 additions & 0 deletions .github/policies/labelAdded-mapQuest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: labelAdded.mapQuest
name: GitOps.MapQuestHandler
description: Handles when "mapQUEST" label is added
owner:
resource: repository
disabled: false
where:
configuration:
resourceManagementConfiguration:
eventResponderTasks:
- description: >-
When the label "mapQUEST" is added to an issue
* Remove label "mapQUEST"
if:
- or:
- payloadType: Issues
- payloadType: Pull_Request

- labelAdded:
label: ':world_map: mapQUEST'
then:
- removeLabel: ':world_map: mapQUEST'
triggerOnOwnActions: true
onFailure:
onSuccess:
69 changes: 69 additions & 0 deletions .github/policies/pullRequestManagement-serviceLabels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
id: pullRequestManagement.serviceLabels
name: GitOps.PullRequestServiceLabels
description: Checks the files touched by a pull request and assigns area labels.
owner:
resource: repository
disabled: false
where:
configuration:
resourceManagementConfiguration:
eventResponderTasks:
- description: Add labels to PRs that touch certain files
triggerOnOwnActions: false
if:
- payloadType: Pull_Request
- or:
- isAction:
action: Opened
- isAction:
action: Synchronize
- not:
targetsBranch:
branch: live
then:
# Framework WPF
- if:
- filesMatchPattern:
pattern: '(?i).*dotnet-desktop-guide\/framework\/wpf.*'
matchAny: true
then:
- addLabel:
label: 'dotnet-framework/svc'
- addLabel:
label: 'wpf/subsvc'

# Framework WinForms
- if:
- filesMatchPattern:
pattern: '(?i).*dotnet-desktop-guide\/framework\/winforms.*'
matchAny: true
then:
- addLabel:
label: 'dotnet-framework/svc'
- addLabel:
label: 'winforms/subsvc'

# .NET WPF
- if:
- filesMatchPattern:
pattern: '(?i).*dotnet-desktop-guide\/net\/wpf.*'
matchAny: true
then:
- addLabel:
label: 'dotnet-desktop/svc'
- addLabel:
label: 'wpf/subsvc'

# .NET WinForms
- if:
- filesMatchPattern:
pattern: '(?i).*dotnet-desktop-guide\/net\/winforms.*'
matchAny: true
then:
- addLabel:
label: 'dotnet-desktop/svc'
- addLabel:
label: 'winforms/subsvc'

onFailure:
onSuccess:
Loading
Loading