Bug 1540822 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

As of today's deployment, the "report ping" code is in place.

The next steps involve working with the data team to get the generic ingestion thing to accept this data. Presumably they need the JSON Schema (given at the end of this bug description), and the namespace, name, and version of this ping.


From the bugzilla end, we'll be running docker container periodically.


```bash
docker run mozillabteam/bmo ./bugzilla.pl report_ping \
       --report-type Simple \
      --url http://incoming.telemetry.mozilla.org/submit

```

This will send a copy of every bug to `http://incoming.telemetry.mozilla.org/submit/bugzilla/simple/1/BUG_ID`. It will do this using 10 concurrent requests, and probably take a few hours.


# JSON Schema

```json
{
   "additionalProperties" : false,
   "properties" : {
      "assigned_to" : {
         "type" : "integer"
      },
      "blocked_by" : {
         "items" : {
            "type" : "integer"
         },
         "type" : "array"
      },
      "bug_id" : {
         "minimum" : 1,
         "type" : "integer"
      },
      "bug_severity" : {
         "type" : "string"
      },
      "bug_status" : {
         "type" : "string"
      },
      "component" : {
         "type" : "string"
      },
      "depends_on" : {
         "items" : {
            "type" : "integer"
         },
         "type" : "array"
      },
      "duplicate_of" : {
         "type" : [
            "null",
            "integer"
         ]
      },
      "duplicates" : {
         "items" : {
            "type" : "integer"
         },
         "type" : "array"
      },
      "flags" : {
         "items" : {
            "additionalProperties" : false,
            "properties" : {
               "name" : {
                  "type" : "string"
               },
               "requestee_id" : {
                  "type" : [
                     "null",
                     "integer"
                  ]
               },
               "setter_id" : {
                  "type" : "integer"
               },
               "status" : {
                  "enum" : [
                     "?",
                     "+",
                     "-"
                  ],
                  "type" : "string"
               }
            },
            "required" : [
               "status",
               "name",
               "setter_id",
               "requestee_id"
            ],
            "type" : "object"
         },
         "type" : "array"
      },
      "groups" : {
         "items" : {
            "type" : "string"
         },
         "type" : "array"
      },
      "keywords" : {
         "items" : {
            "type" : "string"
         },
         "type" : "array"
      },
      "priority" : {
         "type" : "string"
      },
      "product" : {
         "type" : "string"
      },
      "qa_contact" : {
         "type" : [
            "null",
            "integer"
         ]
      },
      "reporter" : {
         "type" : "integer"
      },
      "resolution" : {
         "type" : "string"
      },
      "target_milestone" : {
         "type" : "string"
      },
      "version" : {
         "type" : "string"
      }
   },
   "required" : [
      "priority",
      "blocked_by",
      "duplicate_of",
      "bug_id",
      "reporter",
      "keywords",
      "duplicates",
      "groups",
      "assigned_to",
      "qa_contact",
      "bug_severity",
      "depends_on",
      "bug_status",
      "flags",
      "version",
      "component",
      "product",
      "target_milestone"
   ],
   "type" : "object"
}
```
As of today's deployment, the "report ping" code is in place.

The next steps involve working with the data team to get the generic ingestion thing to accept this data. Presumably they need the JSON Schema (given at the end of this bug description), and the namespace, name, and version of this ping.


From the bugzilla end, we'll be running docker container periodically.


```bash
docker run mozillabteam/bmo ./bugzilla.pl report_ping \
       --report-type Simple \
      --url http://incoming.telemetry.mozilla.org/submit

```

This will send a copy of every bug to `http://incoming.telemetry.mozilla.org/submit/bugzilla/simple/1/BUG_ID`. It will do this using 10 concurrent requests, and probably take a few hours.

The JSON payload of every request is guaranteed to match the schema below.


# JSON Schema

```json
{
   "additionalProperties" : false,
   "properties" : {
      "assigned_to" : {
         "type" : "integer"
      },
      "blocked_by" : {
         "items" : {
            "type" : "integer"
         },
         "type" : "array"
      },
      "bug_id" : {
         "minimum" : 1,
         "type" : "integer"
      },
      "bug_severity" : {
         "type" : "string"
      },
      "bug_status" : {
         "type" : "string"
      },
      "component" : {
         "type" : "string"
      },
      "depends_on" : {
         "items" : {
            "type" : "integer"
         },
         "type" : "array"
      },
      "duplicate_of" : {
         "type" : [
            "null",
            "integer"
         ]
      },
      "duplicates" : {
         "items" : {
            "type" : "integer"
         },
         "type" : "array"
      },
      "flags" : {
         "items" : {
            "additionalProperties" : false,
            "properties" : {
               "name" : {
                  "type" : "string"
               },
               "requestee_id" : {
                  "type" : [
                     "null",
                     "integer"
                  ]
               },
               "setter_id" : {
                  "type" : "integer"
               },
               "status" : {
                  "enum" : [
                     "?",
                     "+",
                     "-"
                  ],
                  "type" : "string"
               }
            },
            "required" : [
               "status",
               "name",
               "setter_id",
               "requestee_id"
            ],
            "type" : "object"
         },
         "type" : "array"
      },
      "groups" : {
         "items" : {
            "type" : "string"
         },
         "type" : "array"
      },
      "keywords" : {
         "items" : {
            "type" : "string"
         },
         "type" : "array"
      },
      "priority" : {
         "type" : "string"
      },
      "product" : {
         "type" : "string"
      },
      "qa_contact" : {
         "type" : [
            "null",
            "integer"
         ]
      },
      "reporter" : {
         "type" : "integer"
      },
      "resolution" : {
         "type" : "string"
      },
      "target_milestone" : {
         "type" : "string"
      },
      "version" : {
         "type" : "string"
      }
   },
   "required" : [
      "priority",
      "blocked_by",
      "duplicate_of",
      "bug_id",
      "reporter",
      "keywords",
      "duplicates",
      "groups",
      "assigned_to",
      "qa_contact",
      "bug_severity",
      "depends_on",
      "bug_status",
      "flags",
      "version",
      "component",
      "product",
      "target_milestone"
   ],
   "type" : "object"
}
```

Back to Bug 1540822 Comment 0