/
issue_workflow_v1
159 lines (120 loc) · 11.4 KB
/
issue_workflow_v1
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
Issue Workflow
-- Logic --
* Assumptions: Anything labeled pending_action will close within two weeks
-- Workflow --
* Is issue also PR?
- If yes: Do nothing, PR workflow overrules.
- Otherwise: continue ahead
* Is issue type properly set?
- If anything other than bug report, feature idea, or docs report,
* Add needs_revision label
* Apply please_complete boilerplate
- If issue type is properly set to bug report, feature idea, or docs report, then: next
* Does issue reference a valid module in the correct repository?
- If yes, then:
* Add bug_report label, apply bug_report boilerplate, pinging maintainer; apply networking/windows/cloud labels as appropriate
OR
* Add docs_report label, apply docs_report boilerplate, pinging maintainer; apply networking/windows/cloud labels as appropriate
OR
* Add feature_idea label, apply feature_idea label, pinging maintainer; apply networking/windows/cloud labels as appropriate
- If valid module, wrong repository:
* Add pending_action label (NOT BOILERPLATE), apply other_repository boilerplate
- other_repository boilerplate handling: Could be "if running against core, type extras in boilerplate" -- or simply have other_repository_boilerplate_core (and extras) and when running the bot against a repo, ensure to call the correct boilerplate.
* Auto-close after two weeks (assumption is that they are either (a) not responsive, (b) opened module in correct repository)
- If not currently a module:
* Add needs_revision label, apply please_complete boilerplate
* If issue labeled is labeled needs_revision for more than 2 weeks, and only 1 comment (original) in issue from submitter: Apply pending_action boilerplate
- Handles "none or wrong issue type" and "not a current module" scenarios
* If issue is pending_action for more than 2 weeks, and only 1 comment (original) in issue from submitter: Close issue, apply closing_non_responsive boilerplate.
* After maintainer ping / label:
- If issue is tagged by maintainer as needs_info:
* Add needs_info label
* Apply needs_info boilerplate
* Ping submitter
- If issue is tagged by maintainer as bug_resolved:
* Apply bug_resolved boilerplate
* OPEN QUESTION: How to handle if submitter does not believe it was resolved?
* Possible: Apply needs_info label, ask submitter to verify if it was resolved and say "fixed_for_me" if fixed?, and if no then respond to any other comment from submitter with "info_provided" boilerplate (and follow normal path after that)?
* More likely: If your issue wasn't resolved, open a new ticket.
* If at any time a pull request is referenced in the issue (NOTE: This could be optional / future enhancement, but might help people to be more proactive about testing PRs / closing issues.)
- If pull request was created or referenced by issue submitter:
* Apply submitter_PR boilerplate, ping maintainer
- If pull request was created or referenced by a maintainer:
* Apply maintainer_PR boilerplate, ping submitter
- If pull request was referenced by anyone else:
* Apply other_PR boilerplate, ping submitter and maintainer
* If label = needs_info and submitter has commented since needs_info was applied:
- Apply "info_provided" boilerplate and ping maintainer
- Remove needs_info label
- Only do this for the first comment (aka: shouldn't happen again, because the label will not be needs_info anymore)
* If docs report or bugs report, and maintainer does not respond within 30 days:
- Apply friendly_reminder boilerplate; ping both maintainer and submitter
- After next 30 days: reapply friendly_reminder boilerplate
* If docs report, bug report, or feature idea, and maintainer requests needs_info:
- Apply needs_info label
- Apply needs_info boilerplate, pinging submitter
* If docs report, bug report, or feature idea, and 30 days since needs_info label was applied:
- Apply pending_action label
- Apply pending_action boilerplate
* If docs_report, bug_report, or feature_idea, and pending_action for more than two weeks:
- Close issue
- Apply closing_non_responsive boilerplate.
-- Boilerplate Text --
* friendly_reminder
* needs_info
* info_provided
* pending_action
* closing_non_responsive
* please_complete
* bug_report
* docs_report
* feature_idea
* bug_resolved
* other_repository
* submitter_PR
* maintainer_PR
* other_PR
* friendly_reminder
"@maintainer: Pinging you with a friendly reminder that this bug report exists. We know you're human (unlike Ansibullbot!) - but:
1: If you're just seeing this for the first time, and it needs more information, please leave a comment saying needs_info and any additional questions you might have for the submitter.
2: If you believe this issue has been or will be resolved by an existing pull request, please indicate with a comment saying bug_resolved; referencing the
3: Sometimes life or work can get busy! While we don't need to know all the details, just let us know you're busy for a while in a comment. People understand. (And really: if you're on a vacation, we are super happy for you -- but don't tell us the dates when you'll be out of town. Creepy people on the internet might go to your house and take all your Ansible stickers if they know you're gone.)"
@submitter: Sometimes issues can get into funky states. If you have any updates, please add them in a comment with the comment "info_provided" so we can get this back in gear."
* needs_info:
"@submitter: It looks like the maintainer of this module needs a little bit more information to help you out! Please respond in a comment with the requested information."
* info_provided:
"@maintainer: It looks like @submitter has provided some additional information (or may have a question about how to do so). If you still require additional information, please describe what is needed, along with needs_info, in a comment.
* pending_action:
"@submitter: Greetings! We previously asked for you to provide more information regarding your issue. Without your input, we can't make progress on your issue. Please provide the information requested within the next two weeks, or we will close the issue for non-responsiveness."
* closing_non_responsive:
"@submitter: Sorry! We were hoping to hear back from you with more information, but we never did. If you are still having this problem in the future and have additional information, you are welcome to create a new issue."
* please_complete:
"@submitter: Greetings! Thanks for taking the time to open this issue. In order to handle your issue effectively, we need a bit more information. Please ensure that you have properly selected ONE issue type, and that you have added the module name, spelled correctly, in the appropriate field."
- OPEN QUESTION: By editing the original issue, or by copying the template into a new comment?
- OPEN QUESTION: Should a response to please_complete with just the module name be enough response to proceed forward?
* bug_report:
"@issuecreator: Thanks for filing this bug report!
If you haven't already done so, please ensure that you have completed as many details as possible regarding your issue in the provided template. This will help the maintainer determine the issue more effectively. If the maintainer is unable to troubleshoot or identify your issue with the provided information, they an request for you to do so in order to prodeed at their discretion.
Please note that if you have a question about how to use this module with Ansible, it is probably something you should ask on the ansible-project mailing list, rather than submitting a bug report. For more details, please see $somelink."
@maintainer: Thanks in advance for taking a look at this bug report and for your ongoing work in maintaining this module. If you are unable to troubleshoot this issue with the information provided, please leave a "needs_info" comment along with any further comments you wish, and we will change the state of the issue. If a PR is created to fix this issue, we would appreciate it if your PR linked to this issue as "fixes #issuenumber". Alternately, if the issue is now or becomes resolved, please leave a comment stating "bug_resolved" and we will close this issue."
* docs_report:
"@submitter: Thanks for submitting this documentation report!
If you haven't already done so, please ensure that you have completed as many details as possible regarding this documentation issue in the provided template. If the maintainer needs further information in order to provide a solution, they may request for you to provide additional information.
@maintainer: Thanks in advance for taking a look at this documentation report and for your ongoing work in maintaining this module. If you need more information from the reporter to resolve this issue, please leave a "needs_info" comment along with any further comments you wish to add, and we will change the state of the issue. If a PR is created to fix this issue, we would appreciate it if your PR linked to this issue as "fixes #issuenumber". Alternately, if the issue is now or becomes resolved, please leave a comment stating "bug_resolved" and we will close this issue."
* feature_idea:
"@issuecreator: Thanks for creating an issue for this feature idea!
If you haven't already done so, please ensure that you have completed as many details as possible regarding your feature idea in the provided template. If the maintainer is unable to determine the scope of your request or has further questions, they may request for you to provide additional information.
@maintainer: Pinging you to bring this feature request to your attention. Please note that you are under no particular obligation to add this feature.
We encourage all Ansible community members to submit pull requests to satisfy feature requests. Consult the module guidelines (http://docs.ansible.com/ansible/developing_modules.html) for more information."
* bug_resolved:
"@submitter: It looks like the maintainer of this module believes this issue is resolved. If it isn't, sorry about that! GitHub doesn't provide a way to reopen automatically closed issues, so please open a new issue and reference the closed issue inside it. Copying or modifying your original issue text in the template will help it move along faster."
* other_repository:
"It appears that you are attempting to file an issue for the $modulename module. This module is part of the (core or extras) repository. Unfortunately, we can't move issues across repositories, but your issue is important to us! Please refile your issue here (core or extras link for correct place).
Because this issue needs to be recreated in the appropriate repository, we will be auto-closing this issue in (2 weeks, or whatever the pending_action time period is)."
* submitter_PR:
"@maintainer: It looks like @submitter has created or found a pull request which may solve this issue. Please take a look at the PR referenced above."
* maintainer_PR:
"@submitter: It looks like the maintainer(s), @maintainer (full list if more than one!), are working on a pull request which may resolve your issue. Please take a look at the PR referenced above, though you should keep in mind that it may still be a work in progress.
@maintainer: If you believe this PR is ready for testing, please leave a comment indicating that is is ready, and include the word needs_info in the comment.
* other_PR:
"@submitter and @maintainer: It looks like @(creator of PR) has created a pull request related to this issue. Please take a look at the above referenced PR."