quintilesims / slackbot

Slack bot for IQVIA
MIT License
2 stars 0 forks source link

Add !pipeline command #30

Closed zpatrick closed 6 years ago

zpatrick commented 6 years ago

Relates to https://github.com/quintilesims/slackbot/issues/22

Here is a raw dump of notes from the last meeting:

## !pipeline
### add
### ls
### rm
### step
#### step add
#### step ls
#### step rm

// very generic path: use pipelines
 !pipeline create NAME
 !pipeline step add NAME DATE 
 !pipeline step show NAME
 !pipeline step CRUD

 - be able to view pipeline steps

// so you'd create a generic pipeline
!pipeline add OCE-Hiring 
!pipeline add step NAME DATE TEXT --execute "!echo {{ .Meta.Users }} yo uhave inteview with {{ .THing }} "

// adding info to interview
// pass in arbitrary keys and/or values
!pipeline continue 

!pipline step add oce-hiring --exec="!remind {{ .Interviewers }} 

so make pipelines small, and have sugar be adding pipelines

# building a pipeline
!pipeline create "oce-hiring"
!pipeline step add "oce-hiring" "enter resume" 
!pipeline step add "oce-hiring" "phone interview" --expect interviewers --expect date --exec "!remind {{ .Meta.Interviewers }} do phone interview at {{ .Meta.Date }}"

!pipeline step add "oce-hiring" "in-person interview"

# using the "oce-hiring" pipeline for John Doe
!candidate add John Doe
!hire John Doe
!hire status John Doe
> John Doe is on step 0 of "oce-hiring" pipeline
!pipeline step show "oce-hiring" 0
> Step 0 of "oce-hiring" is "enter resume"
!hire continue John Doe // under the covers, this is !pipeline step next <id of john doe's pipeline>
> ERROR: missing expected keys: ...
!hire continue John Doe --meta interviewers="@bivers, @dymeyer" --meta date="..."
> execute the --exec, and probably show it as well ("Hey, as part of this step i ran ....")

# each pipeline has an owner (whoever ran !pipeline create), and they get notified if no movement happens
zpatrick commented 6 years ago

I don't think this is required, closing for now