Grid5000 and BonFIRE Events/Artifacts API Documentation

How to make a bug appear in the events page

For Platforms with bugzilla backends such as Grid'5000

Any bug whose Keywords list contains Event will appear on the events page, in one of the following categories: Planned, In Progress, or Done.

For platforms with a redmine backend (such as BonFIRE)

Any issue that is in a project accessible to the user querying BonFIRE's redmine (Event Robot (eventbot)) will be considered in the current version.

Bug or Issue status

According to its status, a bug will appear in only one category:

Bug Status (bugzilla)Issue Status (Redmine)Event Category
NEW, UNCONFIRMEDNewPlanned
REOPENED, ASSIGNEDIn ProgressIn progress
RESOLVED, CLOSEDResolved, ClosedDone

Dates

Dates must have the following format: YYYY[/-]mm[/-]dd(@HH:MM)? (time is optional). Timezone is supposed to be the same as for the bugzilla server (CET).

Tags

Tags are associated to events, so that users can easily filter them. By default, there is only one tag wich corresponds to the Component attribute of the bug. But any word in the title, prefixed by the # symbol, is added to the list of tags (only unique tags are displayed to the user).

Update Frequency

Currently, the list of events is updated every minute.

Discussion

Philippe suggested the follwing heuristic to keep bugs ASSIGNED without having them be considered as In Progress:

How to make a bug appear in the artifacts page

Any bug whose Keywords list contains Artifact will appear on the artifacts page, in one of the following categories: Current artifact or Resolved artifact.

Bug status

According to its status, a bug will appear in only one category:

Bug StatusArtifact Category
NEW, UNCONFIRMED, REOPENED, ASSIGNEDCurrent artifact
RESOLVED, CLOSEDResolved artifact

Tags

Tags are associated to artifacts, so that users can easily filter them. By default, there is only one tag wich corresponds to the Component attribute of the bug. But any word in the title, prefixed by the # symbol, is added to the list of tags (only unique tags are displayed to the user).

Update Frequency

Currently, the list of artifactss is updated every 30 minutes.

Broken tag

This tag, set on bugs by administrators, is used to help users to filter unavailable sites with the events API.

Here an example :

#!/usr/bin/env ruby -KU

require 'rubygems'
require 'restclient'
require 'json'

data = RestClient.get 'https://api.grid5000.fr/3.0/status/upcoming.json', :content_type => :json, :accept => :json
events = JSON.parse data

broken_events = events.select { |event| event['tags'].include? 'broken' and event['status'] == 'ASSIGNED' }

broken_events.each do |event|
  puts "--> Event #{event['id']}"
  p event
end

broken_components = broken_events.map { |event| event['component'][1..-1].downcase }

puts "Broken sites : #{broken_components.join(', ')}"