Für das alte
QC gab es ja mal den Quality Central Windows Client (qualitycentral.exe),
aber für's neue Quality Portal gibt es wohl nichts mehr. Abgesehn vom unvollständige halbmanuellen TReportWizard, wo man das im Quality selbst machen muß.
Wer den Wizard noch nicht kennt, der muß nur mal eine
Exception innerhalb der
IDE auslösen.
Einfach ein neues "kaputtes"
Package erstellen und Jenes installieren.
Delphi-Quellcode:
unit Unit4;
interface
uses
System.SysUtils, Classes;
procedure Register;
implementation
procedure Register;
begin
raise Exception.Create('
wuppdi');
end;
end.
Wie man sieht, funktioniert es nicht
(ist es nicht schön, wenn jemand in einem Try-Except nur ein ShowMessage macht?),
aber wer wären wir, wenn wir uns davon abhalten liesen.
Delphi-Quellcode:
procedure Register;
begin
TThread.ForceQueue(
nil,
procedure
begin
raise Exception.Create('
wuppdi');
end);
end;
und nochmal installieren.
Jetzt hat der Fehlerdialog einen [Details]-Knopf, dann unten ein [Speichern] und schon geht der Wizzard auf.
Stacktrace, geladene Module (
DLL/
BPL), Screenshot(s),
DirectX, eine Beschreibung
und schon landet eine QPInfo-*.zip in C:\Users\%username%\Documents\, welche man an seinen
Bugreport anhängen kann.
Nun hatte ich mich mal bissl durch die Doku gekämpft und inzwischen auch endlich was gefunden. (natürlich nicht die Nichtvorhandene von Embarcadero)
https://developer.atlassian.com/clou...for-rest-apis/
https://developer.atlassian.com/clou...471.1556199146
https://developer.atlassian.com/clou...2/intro/#about
https://developer.atlassian.com/clou...pi-3-field-get
https://developer.atlassian.com/clou...i-group-groups
https://developer.atlassian.com/clou...i-group-issues
https://developer.atlassian.com/clou...ue-attachments
https://developer.atlassian.com/clou...issue-comments
https://developer.atlassian.com/clou...up-issue-links
https://developer.atlassian.com/clou...p-issue-search
https://developer.atlassian.com/clou...up-issue-votes
https://developer.atlassian.com/clou...issue-watchers
https://developer.atlassian.com/clou...group-projects
https://developer.atlassian.com/clou...i-group-status
https://developer.atlassian.com/serv...orm/rest-apis/
https://developer.atlassian.com/serv...-api-examples/
http://rest-examples.chilkat.io/jira...default.cshtml
und noch bissl mehr.
https://docwiki.embarcadero.com/RADS...von_RAD_Studio
https://docwiki.embarcadero.com/RADS...Quality_Portal : File a Bug, nicht Report a Bug?
https://dn.embarcadero.com/article/44137
https://blog.marcocantu.com/blog/201...ty-portal.html
https://blogs.embarcadero.com/rad-st...al-user-guide/
https://blogs.embarcadero.com/rad-st...22-user-guide/
https://docwiki.embarcadero.com/RADS...roubleshooting
https://docwiki.embarcadero.com/RADS...ng:_Delphi_LSP
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\
BDS\22.0\CatalogRepository : Debug = 1 (DWORD)
HKEY_CURRENT_USER\Software\Embarcadero\
BDS\22.0\LSP : DelphiLSPLog = 255 (DWORD)
API v3 gibt es bei Emba noch nicht, also
https://quality.embarcadero.com/rest/api/latest/
oder
https://quality.embarcadero.com/rest/api/2/
Und mein erster Test-Anhang macht quasi das hier:
Delphi-Quellcode:
edResult.Clear;
var auth := THTTPBasicAuthenticator.Create(edUsername.Text, edPassword.Text);
var client := TRESTClient.Create(edBaseURL.Text);
client.Authenticator := auth;
client.ContentType := 'application/json';
var request := TRESTRequest.Create(nil);
request.Client := client;
request.Method := rmGET;
request.Resource := edResource.Text;
Label1.Caption := request.GetFullRequestURL(True);
request.Execute;
var response := request.Response;
if not response.Status.Success then begin
edResult.Lines.Add(response.StatusCode.ToString + ' ' + response.StatusText);
edResult.Lines.Add(response.ErrorMessage);
end else
edResult.Lines.Add(response.JSONText);
request.Free;
client.Free;
auth.Free;
Ohne Username wird es ohne Login/Authenticator gemacht.
/attachments
ist zum Uploaden der Anhänge.
MultiPart-Mime-Dingens mit
Content-Disposition: form-data; name="file"; filename="starfish.jpg"
Content-Type: image/jpeg
/search
bekommt das Gleiche, wie die Filter im Portal reingegeben.
https://quality.embarcadero.com/brow...-42262?filter=
The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'.
Da beim
/search
auch immer gleich die kompletten Issues mit kommen, dürfte wohl eine Seitenverwaltung noch sinnvoll sein.
https://developer.atlassian.com/serv...-the-rest-api/
Im Prinzip wäre es bestimmt witzig, etwas als Plugin für die WelcomePage oder als eigenständiges andockbares Modul ins Delphi zu hängen,
vielleicht mit Notificationen/Hinweisen, wenn sich an den eigenen/beobachteten/gevoteten Issues etwas ändert.
Ach ja, boar eh, die Ausgaben inkl. der
HTML/CSS-Style-Infos, aber da wird wohl der andere Hersteller Schuld dran sein?