ubiquity / ubiquibot

Putting the 'A' in 'DAO'
https://github.com/marketplace/ubiquibot
MIT License
16 stars 59 forks source link

New Priority Config: Follow Up #846

Open 0x4007 opened 9 months ago

0x4007 commented 9 months ago

Follow ups/unassigns should be more frequent on emergency priority (5) like daily.

4 urgent can be two days 3 high can be three days etc

Nevertheless this should be configurable per priority level for bot follow ups

molecula451 commented 9 months ago

context

Keyrxng commented 9 months ago

So I'm thinking something like this in the botConfig, I assume this would be a partner config item too?

prioritySettings = [
    {
        name: "Priority: 1 (Normal)",
        followUpTime: "4 days",
        disqualifyTime: "7 days"
    },
    {
        name: "Priority: 2 (Medium)",
        followUpTime: "4 days",
        disqualifyTime: "7 days"
    },
    {
        name: "Priority: 3 (High)",
        followUpTime: "3 days",
        disqualifyTime: "6 days"
    },
    {
        name: "Priority: 4 (Urgent)",
        followUpTime: "2 days",
        disqualifyTime: "5 days"
    },
    {
        name: "Priority: 5 (Emergency)",
        followUpTime: "1 day",
        disqualifyTime: "3 days"
    }
];

then we just pull settings from config for the active label during unassign/followups?

Or is there a cleaner solution you had in mind?

0x4007 commented 8 months ago

Ultimately it makes sense to allow them to be configurable like that. My original idea was just to have defaults based on the total amount of priority levels, and then determining where the current priority level stands on the heirarchy. The top priority item being 1 day, and the lowest priority item being x days based on the amount of priority levels (e.g. 5, so 5 days) for follow ups.

Double that for disqualifications.

Level Description Follow Up (Days) Disqualify (Days)
Priority: 1 Normal 5 10
Priority: 2 Medium 4 8
Priority: 3 High 3 6
Priority: 4 Urgent 2 4
Priority: 5 Emergency 1 2

Perhaps a bit off topic, but I was also thinking historically how I wished top priority items were a free-for-all. Meaning the first merged solution takes the reward. I wish there was an elegant way to add a configuration or issue-specific setting for "free-for-all" mode. I think a special label like "Competition" or "First Come, First Serve" to enable it might be sensible.