Rename status widget to verification status widget

What does this MR do and why?

Based on the discussion here and here, we want to free up the status name for future use with configurable statuses. This MR renames the status widget to the verification status widget to achieve that.

Changes

  • Adjust the GraphQL API to reflect renaming WorkItemWidgetStatus to WorkItemWidgetVerificationStatus in the GraphQL API.
  • Update the name column in the work_item_widget_definitions table via a regular schema migration.

Deprecation

  • As noted here, we confirmed via logs that there have been no requests to WorkItemWidgetStatus on gitlab.com in the past 7 days.
  • The API is not currently being used by the frontend.
  • The affected fields are marked as experimental.
  • With the team's approval, we're proceeding with the rename without a deprecation process.

GraphQL queries

View query
query WorkItemVerificationStatus($id: WorkItemID!) {
  workItem(id: $id) {
    widgets {
      type
      ... on WorkItemWidgetVerificationStatus {
        verificationStatus
      }
    }
  }
}
{
  "id": "gid://gitlab/WorkItem/769"
}
View response
{
  "data": {
    "workItem": {
      "widgets": [
        {
          "type": "ASSIGNEES"
        },
        {
          "type": "AWARD_EMOJI"
        },
        {
          "type": "COLOR"
        },
        {
          "type": "CRM_CONTACTS"
        },
        {
          "type": "CURRENT_USER_TODOS"
        },
        {
          "type": "DESCRIPTION"
        },
        {
          "type": "HEALTH_STATUS"
        },
        {
          "type": "HIERARCHY"
        },
        {
          "type": "LABELS"
        },
        {
          "type": "LINKED_ITEMS"
        },
        {
          "type": "NOTES"
        },
        {
          "type": "NOTIFICATIONS"
        },
        {
          "type": "PARTICIPANTS"
        },
        {
          "type": "START_AND_DUE_DATE"
        },
        {
          "type": "TIME_TRACKING"
        },
        {
          "type": "WEIGHT"
        },
        {
          "type": "VERIFICATION_STATUS",
          "verificationStatus": "unverified"
        },
        {
          "type": "MILESTONE"
        }
      ]
    }
  },
  "correlationId": "01JN0KBB1ZTXQC373QQZQBEW0V"
}

References

Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

backend changes only

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Enable the following feature flag: Feature.enable(:namespace_level_work_items).
  2. Navigate to the GraphQL Explorer: http://127.0.0.1:3000/-/graphql-explorer.
  3. Use the test queries provided above.
  4. Verify the data.

Related to #521039 (closed).

Edited by Agnes Slota

Merge request reports

Loading