1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-04 00:18:01 +01:00

feat: uncomplete tracking (#7053)

This commit is contained in:
Mateusz Kwasniewski 2024-05-14 15:04:31 +02:00 committed by GitHub
parent 7730167ea4
commit 701c845f09
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 3 deletions

View File

@ -4,6 +4,7 @@ import useFeatureLifecycleApi from 'hooks/api/actions/useFeatureLifecycleApi/use
import { populateCurrentStage } from './populateCurrentStage'; import { populateCurrentStage } from './populateCurrentStage';
import type { FC } from 'react'; import type { FC } from 'react';
import type { Lifecycle } from 'interfaces/featureToggle'; import type { Lifecycle } from 'interfaces/featureToggle';
import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
export interface LifecycleFeature { export interface LifecycleFeature {
lifecycle?: Lifecycle; lifecycle?: Lifecycle;
@ -27,9 +28,16 @@ export const FeatureLifecycle: FC<{
const { markFeatureUncompleted, loading } = useFeatureLifecycleApi(); const { markFeatureUncompleted, loading } = useFeatureLifecycleApi();
const { trackEvent } = usePlausibleTracker();
const onUncompleteHandler = async () => { const onUncompleteHandler = async () => {
await markFeatureUncompleted(feature.name, feature.project); await markFeatureUncompleted(feature.name, feature.project);
onUncomplete(); onUncomplete();
trackEvent('feature-lifecycle', {
props: {
eventType: 'uncomplete',
},
});
}; };
return currentStage ? ( return currentStage ? (

View File

@ -1,6 +1,7 @@
import { useCallback } from 'react'; import { useCallback } from 'react';
import { useMediaQuery, useTheme } from '@mui/material'; import { useMediaQuery, useTheme } from '@mui/material';
import type { VisibilityState } from '@tanstack/react-table'; import type { VisibilityState } from '@tanstack/react-table';
import { useUiFlag } from 'hooks/useUiFlag';
const staticColumns = ['select', 'actions', 'name', 'favorite']; const staticColumns = ['select', 'actions', 'name', 'favorite'];
@ -21,6 +22,7 @@ export const useDefaultColumnVisibility = (allColumnIds: string[]) => {
const isTinyScreen = useMediaQuery(theme.breakpoints.down('sm')); const isTinyScreen = useMediaQuery(theme.breakpoints.down('sm'));
const isSmallScreen = useMediaQuery(theme.breakpoints.down('md')); const isSmallScreen = useMediaQuery(theme.breakpoints.down('md'));
const isMediumScreen = useMediaQuery(theme.breakpoints.down('lg')); const isMediumScreen = useMediaQuery(theme.breakpoints.down('lg'));
const featureLifecycleEnabled = useUiFlag('featureLifecycle');
const showEnvironments = useCallback( const showEnvironments = useCallback(
(environmentsToShow: number = 0) => (environmentsToShow: number = 0) =>
@ -53,6 +55,7 @@ export const useDefaultColumnVisibility = (allColumnIds: string[]) => {
return formatAsColumnVisibility(allColumnIds, [ return formatAsColumnVisibility(allColumnIds, [
...staticColumns, ...staticColumns,
'lastSeenAt', 'lastSeenAt',
...(featureLifecycleEnabled ? ['lifecycle'] : []),
'createdAt', 'createdAt',
'type', 'type',
'tags', 'tags',

View File

@ -4,14 +4,15 @@ title: Feature Lifecycle
:::info Availability :::info Availability
Feature lifecycle was introduced in Unleash 6.1.0 Feature lifecycle is currently in beta
::: :::
![Feature Lifecycle example](/img/feature-lifecycle.png 'Feature Lifecycle example') ![Feature Lifecycle example](/img/feature-lifecycle.png 'Feature Lifecycle example')
Feature Lifecycle facilitates tracking the progression of features through various stages in their development and operational phases. In Unleash, the feature lifecycle encompasses a holistic view of how mature your feature is based on data collected through metrics and interactions with the Unleash system.
This systematic approach helps in identifying potential bottlenecks and improving the overall efficiency of the software development process. As such, the lifecycle mirrors your software development process and allows you to identify bottlenecks at any stage of the lifecycle.
These findings may give you insights or clues to improve the efficiency of your software development process. Read more about how Unleash progresses a feature through the lifecycle below.
## Lifecycle stages ## Lifecycle stages