dwyl / dwylbot

:robot: Automating our GitHub Workflow to improve team communication/collaboration and reduce tedious repetition!
28 stars 7 forks source link

Feature: "in-progress" label with no assignee #7

Closed SimonLab closed 7 years ago

SimonLab commented 7 years ago

When an issue has the "in-progress" label and no one is assigned to the issue then add a comment with

“Looks like someone is working on this one but there are no assignee. Who are you, mystery person (and thank you for your time!)?"

The comment should be added after a certain period of time from where the "in-progress" label has been added to not spam the issue. Maybe 3 or 5 mn after the "in-progress" label?

This issue will be estimated once I have done the spike #6

nelsonic commented 7 years ago

@SimonLab it might be worth checking who added the in-progess label and mentioning them in the comment?

iteles commented 7 years ago

Yes!!

jruts commented 7 years ago

@nelsonic, @iteles I might sound super stupid here, but GitHub already adds the fact that someone added/removed a label, or assigned a task to him/herself. So my question would be, why add this information again in a comment whilst it is right there? Just look at this issue for example and see the stream of information you already get.

SimonLab commented 7 years ago

@jruts we use intensively labels on issues and PR to communicate about the status of the work for each team member of our project. We are often working remotely and the labels allow us to quickly know what are the responsibilities: labels-example

For example on the issue #8 "Create Phoenix server" @nelsonic has been assigned to it and he knows that the issue is finished and a PR is open for it with the label "awaiting-review". We found that it's much quicker and obvious to know when an issues is ready for review. However sometimes people forget to update the labels or the assignee and it becomes not clear what to do with the issue. That's why we have created the contributing guide which defines the rules to follow. We have also the labels project which allow us to have the same labels between different project and which define the semantic of the labels. We will still forget to update the labels on an issue or a PR and it's where the dwylbot will remind us and check that the repo follow the guide line. This process really allow us to speed up some project and let us focus on developing features instead of losing time on Gitter/Slack explaining why an issue/PR was created. This process also allow us to communicate quickly with our clients and they know when to tests and approve/reject a feature for example with the label "please-test"

Hope this answer your question, let me know if it's not clear or how you would improve the dwylbot :+1:

ghost commented 7 years ago

@SimonLab could we make it do the following:

@username the in-progress label has been added to this issue without an Assignee. Please assign a user to this issue before applying the in-progress label.

And then dwylbot removes the in-progress label

?

@username should be easy to implement by extracting this from the payload - maybe?

Step 2 might be more complex - adding and removing labels - do you think we could have it working by tomorrow? Or something for next week?

SimonLab commented 7 years ago

Adding the name in the description of the comment should be ok. Removing a label might take a bit longer. The library used by the application to use the the Github API (Tantacat) doesn't have the remove label function yet see https://hexdocs.pm/tentacat/Tentacat.Issues.Labels.html

So I need to investigate if there is another library which support more functions of the Github API or I need to create a PR on this repo but it might take a bit of time to be merged

ghost commented 7 years ago

Ah I see, ok might be a good idea to keep the MVP just within the capabilities of the Tentacat Github API for now then? We can discuss tomorrow to work out what's best!

ghost commented 7 years ago

Interesting that they decided to create an add function without the corresponding remove function!

SimonLab commented 7 years ago

17 PR will resolve this user story/issue. The author of the in-progress label has been added to the message of the comment. We can create a new issue and specify the process especially if we want to remove the "in-progress" label automatically, @markwilliamfirth do you mind to create a new issue or specify on a comment. I prefer that #17 be merge at the stage as I want to avoid creating to big PR for the QA

ghost commented 7 years ago

@SimonLab are you happy for this to be closed?

nelsonic commented 7 years ago

@SimonLab do we have an example of where this is currently working for one of our projects? (to answer Mark's question above)

ghost commented 7 years ago

@SimonLab to add following functionality: if user applies in-progress label without an assignee, then that user is assigned to the issue following posting of the comment

dwylbot[bot] commented 7 years ago

@iteles the in-progress label has been added to this issue without an Assignee. Please assign a user to this issue before applying the in-progress label.

dwylbot[bot] commented 7 years ago

@markwilliamfirth the in-progress label has been added to this issue without an Assignee. Please assign a user to this issue before applying the in-progress label.

Any questions, complaints, feedback, contributions? Discuss If you prefer, you can also send us anonymous feedback: https://dwyl-feedback.herokuapp.com/feedback/new

ghost commented 7 years ago

@SimonLab it doesn't assign me to the issue https://github.com/dwyl/dwylbot/issues/7#issuecomment-308164125

dwylbot[bot] commented 7 years ago

@markwilliamfirth the in-progress label has been added to this issue without an Assignee. dwylbot has automatically assigned you.

Any questions, complaints, feedback, contributions? Discuss If you prefer, you can also send us anonymous feedback: https://dwyl-feedback.herokuapp.com/feedback/new

ghost commented 7 years ago

This works 👍