lalli-oni / nushell-modules

Nushell module scripts
1 stars 0 forks source link

Define workflows #7

Closed lalli-oni closed 1 year ago

lalli-oni commented 1 year ago

Introduction

Defining user workflows we wish to cover as part of v0.1

1. User wants overview of current tasks status

Script: mr-list Integrations: local git, jira, gitlab This script should give an overview of tasks, highlighting tasks that require attention, make it easy to filter out the tasks that don't require direct attention.

Steps

  1. User executes the script
  2. Script helps establish current project scope (by local git top level directory)
  3. Script gets a list of MRs from GitLab
  4. Normalise information (isDraft, JIRA id)
  5. Get most recent MR pipeline status
  6. Get the time of last MR discussion change
  7. Script renders a formatted table of active tasks.

Not included

  1. Separation of the task table and rendering. The script renders a formatted table in favor of a structured table output.
  2. Acting on an MR. We simply display the table, any actions against particular MR is not part of scope.
  3. šŸ› Step nr.2: If the git top level directory does not match the repository name we cannot get the MR list.
  4. šŸ› Step nr.4: If the MR title is not formatted correctly we cannot determine JIRA issue.

2. User wants to be able to control tests

Script name: test-runner Integrations: jest, npx, gum

Steps

  1. User executes the script
  2. Script establishes a context for the project test config
  3. Script gets a list of tests
  4. User selects which tests to run
  5. Script executes tests
  6. Script structures the report
  7. [loop] User selects whether to rerun the test
  8. Script renders formatted test results

Not included

  1. Separation of the report and rendering. The script renders the test report in favor of returning structured data.
  2. [Candidate to include]: Allow user to select number of runs
lalli-oni commented 1 year ago

Closing as non-applicable. I like the idea of approaching our requirement definitions from a higher level angle, but approached the tasks from the opposite direction for v0.1. Anticipate trying again to establish these user flows at a later time.