diff --git a/ui/glean/generated/classification.js b/ui/glean/generated/classification.js new file mode 100644 index 00000000000..a309385446f --- /dev/null +++ b/ui/glean/generated/classification.js @@ -0,0 +1,72 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// AUTOGENERATED BY glean_parser v14.5.2. DO NOT EDIT. DO NOT COMMIT. + +import CounterMetricType from '@mozilla/glean/private/metrics/counter'; + +/** + * Counts how often a failure is annotated FBC. + * + * Generated from `classification.fixed_by_commit`. + */ +export const fixedByCommit = new CounterMetricType({ + category: 'classification', + name: 'fixed_by_commit', + sendInPings: ['classified'], + lifetime: 'ping', + disabled: false, +}); + +/** + * Counts how often a failure is annotated FBC with a NEW tag. + * + * Generated from `classification.fixed_by_commit_new_failure`. + */ +export const fixedByCommitNewFailure = new CounterMetricType({ + category: 'classification', + name: 'fixed_by_commit_new_failure', + sendInPings: ['classified'], + lifetime: 'ping', + disabled: false, +}); + +/** + * Counts how often a bug is filed without a NEW tag. + * + * Generated from `classification.new_bug`. + */ +export const newBug = new CounterMetricType({ + category: 'classification', + name: 'new_bug', + sendInPings: ['classified'], + lifetime: 'ping', + disabled: false, +}); + +/** + * Counts how often a bug is filed with a NEW tag. + * + * Generated from `classification.new_failure_new_bug`. + */ +export const newFailureNewBug = new CounterMetricType({ + category: 'classification', + name: 'new_failure_new_bug', + sendInPings: ['classified'], + lifetime: 'ping', + disabled: false, +}); + +/** + * Counts how often a NEW tag is classified as fixed_by_commit. + * + * Generated from `classification.new_failure_other`. + */ +export const newFailureOther = new CounterMetricType({ + category: 'classification', + name: 'new_failure_other', + sendInPings: ['classified'], + lifetime: 'ping', + disabled: false, +}); diff --git a/ui/glean/generated/pings.js b/ui/glean/generated/pings.js new file mode 100644 index 00000000000..94ff834f9d8 --- /dev/null +++ b/ui/glean/generated/pings.js @@ -0,0 +1,23 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// AUTOGENERATED BY glean_parser v14.5.2. DO NOT EDIT. DO NOT COMMIT. + +import PingType from '@mozilla/glean/private/ping'; + +/** + * sends counters related to user actions done on treeherder. + * + * Generated from `classified`. + */ +export const classified = new PingType({ + name: 'classified', + includeClientId: false, + sendIfEmpty: false, + preciseTimestamps: true, + includeInfoSections: true, + enabled: true, + schedulesPings: [], + reasonCodes: [], +}); diff --git a/ui/perfherder/graphs/GraphTooltip.jsx b/ui/perfherder/graphs/GraphTooltip.jsx index 42160191a18..83a6c32873e 100644 --- a/ui/perfherder/graphs/GraphTooltip.jsx +++ b/ui/perfherder/graphs/GraphTooltip.jsx @@ -21,6 +21,8 @@ import { displayNumber, getStatus } from '../perf-helpers/helpers'; import Clipboard from '../../shared/Clipboard'; import { toMercurialDateStr } from '../../helpers/display'; +import RetriggerJobButton from './RetriggerJobButton'; + const GraphTooltip = ({ testData, infraAffectedData, @@ -334,6 +336,10 @@ const GraphTooltip = ({ {Boolean(retriggerNum) && (

{`Retriggers: ${retriggerNum}`}

)} +
{ + const [notification, setNotification] = useState(''); + + const notify = (message) => { + console.log(message); + setNotification(message); + }; + + const retrigger = () => { + const { pushId, repoName } = props; + JobModel.retrigger([{ push_id: pushId }], repoName, notify); + }; + + return ( + + +

Retrigger status: {notification}

+
+ ); +}; + +RetriggerJobButton.propType = {}; + +export default RetriggerJobButton;