Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a GitLab general issue template #15665

Merged
merged 13 commits into from
Nov 9, 2019
Merged

Create a GitLab general issue template #15665

merged 13 commits into from
Nov 9, 2019

Conversation

homotechsual
Copy link
Contributor

@homotechsual homotechsual commented Oct 30, 2019

Overview

I had a call with Craig this morning to discuss how to raise issues etc on GitLab for new contributors - it was useful but it made me realise that we can help out people opening issues with one or more sensible templates for issues to guide people on what information to include in their issue.

So here's a general issue template based on the PR template and this issue of @jaapjansma's https://lab.civicrm.org/dev/core/issues/1345

Before

When filing an issue in Gitlab, you must enter a full description from a blank slate.

After

When filing an issue in Gitlab, you may choose to use a template:

Screen Shot 2019-11-08 at 8 38 44 PM

I had a call with Craig this morning to discuss how to raise issues etc on GitLab for new contributors - it was useful but it made me realise that we can help out people opening issues with one or more sensible templates for issues to guide people on what information to include in their issue.

So here's a general issue template based on the PR template and this issue of @jaapjansma's https://lab.civicrm.org/dev/core/issues/1345
@civibot
Copy link

civibot bot commented Oct 30, 2019

(Standard links)

@civibot civibot bot added the master label Oct 30, 2019
@artfulrobot
Copy link
Contributor

Looks good but I'd avoid the dev humour: "click the other thing" is exactly what some of my clients write, leaving me guessing what other thing they clicked on. I think more important to give accurate example.

@homotechsual
Copy link
Contributor Author

Can you think of/suggest an example?

@demeritcowboy
Copy link
Contributor

I think this is a good idea. Some notes:

If it's for new contributors then the default suggestion for civicrm version of "master" might not be helpful. Maybe 5.5.5?

Since triage priority is identifying recent bugs, including a question "When did it start happening?" or "In which version did it first start happening?" might be useful for triage.

How about for the sample reproduction steps:

  1. Clicked on Contacts - New Individual.
  2. Entered First Name and Last Name and clicked Save.
  3. Got an error "Fatal error: Db error". (Please include the full text of the error message. You can remove any private information like passwords.)

I was thinking stack traces are helpful, but don't want to make the template too complicated and if they're new they might need help finding that anyway.

@eileenmcnaughton
Copy link
Contributor

I'm +1 on the general idea. I agree with the points above too

@homotechsual
Copy link
Contributor Author

Updated and added a couple of other things.

I haven't changed the version - I think our "new contributor" messaging should be consistent regarding reproduction of bugs/issues on Master. Happy to reconsider/go with the flow if we feel different - perhaps "latest" makes more sense than master?

* __CMS:__ _Backdrop/Drupal/Joomla!/WordPress_
* __CMS Version:__ _1.0_
* __Database:__ _MariaDB/MySQL/Percona/Other_
* __Database Versions:__ _10.4_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of these have lists that you can choose from, and some are just one of many possible values. I think it might be a little clearer that you need to fill every item if either... (a) all the fields had multiple examples

* __Web Server:__ _Apache/LiteSpeed/Nginx/..._  
* __CiviCRM Version:__ _Master/5.20.0/5.19.1/5.18.2/..._
* __CMS:__ _Backdrop/Drupal/Joomla/WordPress_
* __CMS Version:__ _1.0/4.5/6.10/7.30/..._
* __Database:__ _MariaDB/MySQL/Percona/Other_
* __Database Versions:__ _5.5/5.7/10.3/10.4/..._

Or all the fields had FIXME:

* __Web Server:__ _FIXME (Ex: Apache, Nginx)_ 
* __CiviCRM Version:__ _FIXME (Ex: 5.19.1)_
* __CMS:__ _FIXME (Ex: WordPress)_
* __CMS Version:__ _FIXME (Ex: 4.5)_
* __Database:__ _FIXME (Ex: MySQL, MariaDB)_
* __Database Versions:__ _FIXME (Ex: 5.7.7)_

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capturing the user's "Browser" is also helpful with bug reports.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the multiple examples one and I'll add browser.

@totten
Copy link
Member

totten commented Oct 31, 2019

In general, I really like this. 👍 It's a good to get all these organized when reporting a problem.

There may be some subtlty about the type/purpose of the issue:

  • If one is reporting a problem or bug, then all of these fields make sense.
  • If one is (say) adding an API, then some headings are weird. (There are no "Reproduction steps:", though... analogously... there might some hypothetical use-cases to describe. "Current behavior" and "Environment information" would be non-applicable.)

I don't know if Gitlab has a way to specify multiple templates. But if not, then I think the template could just have a little prose to indicate that it's focused on bugs -- and that it's OK to delete non-applicable sections (for other types of issues).

@artfulrobot
Copy link
Contributor

artfulrobot commented Oct 31, 2019

Sideways thought: what if there was a button in CiviCRM that generated the template? Like if we had an extension that made a list of all the tech stuff including the browser.

"Even" I find it offputting when someone wants to know which version of nginx I'm running for something that's batantly nothing to do with nginx. Having an "issue reporting" extension could just do that paperwork for me so I could copy and paste.

  • might reduce the barrier to contributing
  • might get more accurate data leading to quicker fixes
  • we have better control of the template - could ask questions intereactively to generate it.
  • we would have space to explain things like gitlab/hub to users.
  • (one day could use api to search/report to gitlab!)

@homotechsual
Copy link
Contributor Author

In general, I really like this. 👍 It's a good to get all these organized when reporting a problem.

There may be some subtlty about the type/purpose of the issue:

  • If one is reporting a problem or bug, then all of these fields make sense.
  • If one is (say) adding an API, then some headings are weird. (There are no "Reproduction steps:", though... analogously... there might some hypothetical use-cases to describe. "Current behavior" and "Environment information" would be non-applicable.)

I don't know if Gitlab has a way to specify multiple templates. But if not, then I think the template could just have a little prose to indicate that it's focused on bugs -- and that it's OK to delete non-applicable sections (for other types of issues).

This is a general - but yes - adding an additional MD file to that folder creates another template.

@homotechsual
Copy link
Contributor Author

Updated with latest feedback and renamed to "general-bug-or-issue".

@homotechsual
Copy link
Contributor Author

Sideways thought: what if there was a button in CiviCRM that generated the template? Like if we had an extension that made a list of all the tech stuff including the browser.

"Even" I find it offputting when someone wants to know which version of nginx I'm running for something that's batantly nothing to do with nginx. Having an "issue reporting" extension could just do that paperwork for me so I could copy and paste.

  • might reduce the barrier to contributing
  • might get more accurate data leading to quicker fixes
  • we have better control of the template - could ask questions intereactively to generate it.
  • we would have space to explain things like gitlab/hub to users.
  • (one day could use api to search/report to gitlab!)

This is a great idea and we have an internal Drupal module that does this from D8+Civi to our internal helpdesk but the logic is not Drupal specific - throw up an issue on GitLab and tag me and I'll throw something together.

@artfulrobot
Copy link
Contributor

We want "versions" for everything. Making separate lines for the version just makes it bit
harder to write (you have to remove more things) and to read (you have to skim more lines).

Changes:

* Combine "CMS/CMS Version"
* Combine "Database/Database Version"
* For "Web Server", also include version.
* Add "PHP"
The "Expected Behavior" is specifically what the system does *not* do, so...
it might be hard to give a screenshot of that...
* End comment-placeholder with period, like in other comment-placeholders
* Remove colons from titles - don't think we do that anywhere else
This is basically the same as the bug-report template, except:

* "Reproduction steps" become "Example use-case"
* "Environment" is removed - because it's not usually a factor. (And if it is,
  it's generally explicit part of the requirements.)
@totten
Copy link
Member

totten commented Nov 7, 2019

@MikeyMJCO I've posted some more suggestions in https://github.com/MikeyMJCO/civicrm-core/pull/1. I think most of them are independent, so you could probably cherry-pick if you agree on some and disagree on others.

Proposed updates to Gitlab issue template
@homotechsual
Copy link
Contributor Author

@MikeyMJCO I've posted some more suggestions in MikeyMJCO#1. I think most of them are independent, so you could probably cherry-pick if you agree on some and disagree on others.

I've merged the whole batch - I think they are all good improvements.

@totten totten merged commit 4f374bb into civicrm:master Nov 9, 2019
@totten
Copy link
Member

totten commented Nov 9, 2019

Cool :)

Merged.

Updated description ("After") to include a screenshot of how Gitlab presents the templates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants