List view of the Metrics section in the component in Compass

Garyl Paras
Contributor
February 2, 2023

I'm not sure if this is the right place to suggest a UI feature request.

Hoping to have a list view option in the Metrics section inside the component under the Overview page.

Card and List views will suffice.

The reason is that when a component will have multiple metrics added, it will be difficult to see all the metrics because you have to scroll down the page.


Another feature would be to have a Status section where it will show if the metric passed/failed a scorecard.

An option to disconnect predefined metrics will be nice to have as well. Currently, this is not possible.

Is it also possible to allow metrics to accept a string value? Like a status Up/Down  or Succeeded/Failed.

Here's the sample UI.
compass-metric-ui.PNG

8 answers

2 votes
Andrew Freedman
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 7, 2023

Not via REST unfortunately, accessing custom fields requires using our GraphQL API. updateComponent is what you're after. There's obviously a tradeoff between GraphQL and REST in terms of efficiency/power vs simplicity — does using GraphQL work for your situation, or is it important to have a REST API?

Yes, there was a soft limit of 25 metrics. Today we lifted that limit to 50 though! :D

2 votes
Andrew Freedman
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 5, 2023

Hey Garyl,

Thank you for trying out Compass and for sharing your feedback, we hugely appreciate it.

Metric list view: This is currently on our minds so it's great to get some direct customer feedback on the topic. Metrics have been a very successful feature with our customers, which is leading to the kinds of scrolling problems you're describing. We'd like to do something here relatively quickly — watch this space.

Metric status: We definitely agree that making it easier to figure out why a scorecard is failing and helping teams take action is a necessary improvement. There's work underway for this right now. I don't think we'd be able to add this to the metric view itself as metrics can appear on multiple scorecards (even on the same component) where they can have different target values.

Predefined metric removal: That's a pretty reasonable ask — I don't think we're against that, but it's not been a high priority to date. We'll take the feedback on board and see when we can make some changes here.

String based metrics: We see custom fields as the best way to pipe in non-numerical data which can then be added to scorecard criteria. That does mean you lose out on the overview page "card" like metrics provide — can you share a little more about what you'd want to use non-numerical metrics for?

— Andrew

1 vote
Garyl Paras
Contributor
February 10, 2023

Thank you for this. Appreciate it.

As a newbie to GraphQL it is very difficult for me to follow the documentation.
For example "updateComponent". I don't see "updateComponentCustomField" in the documentation.

1 vote
Kairo Phan
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 8, 2023

Here is the updateComponent mutation though!

mutation updateComponentCustomField($input: UpdateCompassComponentInput!) {
  compass {
    updateComponent(input: $input) {
      success
      errors {
        message
        extensions {
          statusCode
          errorType
        }
      }
      componentDetails {
        id
        name
        customFields {
          definition {
            id
            name
          }
          ...on CompassCustomTextField {
            textValue
          }
        }
      }
    }
  }
}

and the corresponding input:

{
  "input": {
    "id": "<component_id>",
    "customFields": [{
      "textField": {
        "definitionId": "<definition_id>",
        "textValue": "<my_value>"
      }
    }]
  }
}


You'll want to replace the brackets + anything in them with your own data of course.


If you're looking for your component's id, here are some steps you can follow:

  1. In Compass, go to a component’s details page. Learn how to view a component's details
  2. Select more actions (•••) then Copy component ID.

 

And if you need some help getting your custom field definition's id, here is a query for you:

query getComponentCustomFields($id: ID!) {
  compass {
    component(id: $id) {
      ... on QueryError {
        identifier
        message
        extensions {
          statusCode
          errorType
        }
      }
      ... on CompassComponent {
        id
        name
        customFields {
          definition {
            id
            name
          }
        }
      }
    }
  }
}


and its input:

{
  "id": "<component_id>"
}
0 votes
Garyl Paras
Contributor
February 12, 2023

Is there a GraphQL component query that will pull the metricSourceId of a specific metric name within a component?
I tried to look into your documentation and can't find it. https://developer.atlassian.com/cloud/compass/graphql/#queries_component

0 votes
Kairo Phan
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 8, 2023

Hi there Garyl! 

I'd be happy to help you out with some sample GraphQL formats. If possible though, would you mind giving us your thoughts about the existing API documentation? Is it confusing or are there any pain points that make it hard for users to put together a sample query?

We're always looking to improve and feedback is greatly valuable for us!

0 votes
Garyl Paras
Contributor
February 8, 2023

Thanks for increasing the metrics limit.
Can you share a sample GraphQL query that puts a string value to a custom field?

0 votes
Garyl Paras
Contributor
February 6, 2023

Thanks Andrew. I appreciate your response.
Can we forward non-numerical data to a custom field using REST API via cURL the same way with metrics?
Is there a limit of metrics that can be connected to a component because it is not allowing me to connect the 26th metric.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events