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

Updated Feature: Activity-based Incident Cost Model #4172

Merged
merged 169 commits into from
Jan 18, 2024

Conversation

metroid-samus
Copy link
Contributor

@metroid-samus metroid-samus commented Dec 27, 2023

Updated Feature: Incident Cost Model

Our Incident Cost Model is a feature that enables teams to estimate incident response cost for each incident. This new update allows users to opt in to create and use personalized cost calculations for each incident based on participant activity.

If no cost model is assigned to an incident, the default classic cost model will be used. See Incident Cost Type.

admin-ui-incident-cost-model

Key Features

Customizable Cost Models

Users have the flexibility to define their unique cost models based on their organization's workflow and tools. This customization can be tailored to each incident, providing a versitile approach to cost calculation. The cost model for an incident can be changed at any time during its lifespan. All participant activity costs moving forward will be calculated using the new cost model.

Plugin-Based Tracking

Users can track costs from their existing tools by using our plugin-based tracking system. Users have the flexibility to select which plugins and specific plugin events they want to track, offering a targeted approach to cost calculation.

Effort Assignment

For each tracked activity, users can assign a quantifiable measure of effort, represented in seconds of work time. This feature provides a more accurate representation of the cost of an incident.

Incident Cost Calculation

Incident cost calculation is based on the cost model and effort assignment for each tracked participant activity. This helps in understanding resource utilization and cost of an incident.

incident-cost-model

dependabot bot and others added 30 commits November 29, 2023 09:44
Bumps [uvloop](https://github.com/MagicStack/uvloop) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/MagicStack/uvloop/releases)
- [Commits](MagicStack/uvloop@v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: uvloop
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [email-validator](https://github.com/JoshData/python-email-validator) from 2.0.0.post2 to 2.1.0.post1.
- [Release notes](https://github.com/JoshData/python-email-validator/releases)
- [Changelog](https://github.com/JoshData/python-email-validator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/JoshData/python-email-validator/commits)

---
updated-dependencies:
- dependency-name: email-validator
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vue](https://github.com/vuejs/core) from 2.7.14 to 2.7.15.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3894)

Bumps [eslint](https://github.com/eslint/eslint) from 8.51.0 to 8.52.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](eslint/eslint@v8.51.0...v8.52.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vue-template-compiler](https://github.com/vuejs/vue) from 2.7.14 to 2.7.15.
- [Release notes](https://github.com/vuejs/vue/releases)
- [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md)
- [Commits](vuejs/vue@v2.7.14...v2.7.15)

---
updated-dependencies:
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@vue/compiler-sfc](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc) from 3.3.4 to 3.3.6.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits/v3.3.6/packages/compiler-sfc)

---
updated-dependencies:
- dependency-name: "@vue/compiler-sfc"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@v0.1.0...v0.1.1)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [schemathesis](https://github.com/schemathesis/schemathesis) from 3.19.7 to 3.20.1.
- [Release notes](https://github.com/schemathesis/schemathesis/releases)
- [Changelog](https://github.com/schemathesis/schemathesis/blob/master/docs/changelog.rst)
- [Commits](schemathesis/schemathesis@v3.19.7...v3.20.1)

---
updated-dependencies:
- dependency-name: schemathesis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [faker](https://github.com/joke2k/faker) from 19.10.0 to 19.11.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](joke2k/faker@v19.10.0...v19.11.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Enhances Signals table

* removes commented code
* Fixing an issue where we aren't paging for critical

* Adding back in search vector

* Removing vector based on signal
* update packages

* auto fix

* update root navigation

* remove vuex-router-sync mapped fields

* update dashboards

* set default icon button variant to text

* replace vee-validate with v-form

* auto fix

* manual fix

* replace vue filters with function calls

* remove deprecated grid components

* remove deprecated slot syntax

* disable explicit emits

* update event hyphenation

* move v-for key to template node

* remove deprecated $listeners

* remove badge overlap prop

* remove deprecated app prop

* remove deprecated clipped prop

* clean up

* update search results summary tables

* update chip size prop

* update activator slots

* fix menu positioning

* swap field append-inner/outer

* update combobox selection slots

* remove .native modifier

* show active indicator on all list items

* update table headers and slots

* update drawer action buttons

* remove deprecated list sub-components

* replace material icons with mdi

* replace value/input with modelValue

* replace v-app-bar in drawers with v-toolbar

* fix breadcrumbs

* add default color to selection controls

* update vuetify

* update steppers

* replace fixed-width subtitles with title attribute

* update select item slots

* set custom link color

* update help icon

* update InfoWidget

* set default itemTitle to "text"

* add missing sortyBy array

* update tabs

* update monaco

* fix non-existent property access error

* replace VueClipboard with navigator.clipboard

* replace vue-markdown with vue3-markdown-it

* update incident report form

* misc fixes

* replace vuedraggable with vueuse sortable

* replace date-picker and time-picker with native inputs

* remove unused file

* fix BaseCombobox usage

* Adding FormKit dependency and fixing incident drawer

* fix chart card props

* update vuetify

* $vuetify.breakpoint -> $vuetify.display

* v-data-table -> v-data-table-server

* fix timeline layout

* Minor ui fixes

* Migrating btn

* More UI fixes

---------

Co-authored-by: David Whittaker <[email protected]>
Co-authored-by: kevgliss <[email protected]>
Co-authored-by: Marc Vilanova <[email protected]>
* Reducing font size

* Removing table density
* handle possible null actions interactive.py

It is possible that there are tasks, but there is no previous actions value so actions is None. This addresses that issue by setting actions to an empty string if it is None.
Bumps [faker](https://github.com/joke2k/faker) from 19.11.0 to 19.13.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](joke2k/faker@v19.11.0...v19.13.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [google-api-python-client](https://github.com/googleapis/google-api-python-client) from 2.104.0 to 2.106.0.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Changelog](https://github.com/googleapis/google-api-python-client/blob/main/CHANGELOG.md)
- [Commits](googleapis/google-api-python-client@v2.104.0...v2.106.0)

---
updated-dependencies:
- dependency-name: google-api-python-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.1.1 to 0.1.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@v0.1.1...v0.1.3)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.7 to 3.0.1.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](pallets/werkzeug@2.3.7...3.0.1)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cachetools](https://github.com/tkem/cachetools) from 5.3.1 to 5.3.2.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](tkem/cachetools@v5.3.1...v5.3.2)

---
updated-dependencies:
- dependency-name: cachetools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@metroid-samus
Copy link
Contributor Author

Will this support calculating the cost of cases as well?

My goal is to extend the usage of Plugin Events to estimate the costs of cases as well. This will likely occur after the ongoing case management enhancement.

@wssheldon
Copy link
Contributor

Will this support calculating the cost of cases as well?

My goal is to extend the usage of Plugin Events to estimate the costs of cases as well. This will likely occur after the ongoing case management enhancement.

Should we name the model just CostModel or something more generic instead of IncidentCostModel? It'll be harder to rename the DB model in the future than changing it now.

@metroid-samus
Copy link
Contributor Author

Should we name the model just CostModel or something more generic instead of IncidentCostModel? It'll be harder to rename the DB model in the future than changing it now.

Done.

Copy link
Contributor

@whitdog47 whitdog47 left a comment

Choose a reason for hiding this comment

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

Nice job with all of the tests!

@mvilanova
Copy link
Contributor

Should we name the model just CostModel or something more generic instead of IncidentCostModel? It'll be harder to rename the DB model in the future than changing it now.

Done.

Did you generate a new db revision for it?

@metroid-samus
Copy link
Contributor Author

Should we name the model just CostModel or something more generic instead of IncidentCostModel? It'll be harder to rename the DB model in the future than changing it now.

Done.

Did you generate a new db revision for it?

I modified the existing revision.

Copy link
Contributor

@mvilanova mvilanova left a comment

Choose a reason for hiding this comment

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

Awesome work!

@metroid-samus metroid-samus merged commit c682670 into master Jan 18, 2024
8 checks passed
@metroid-samus metroid-samus deleted the enhancement/activity-based-cost-model branch January 18, 2024 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants