Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Vielleicht ein Quality Portal Client/Wizzard ? (https://www.delphipraxis.net/213651-vielleicht-ein-quality-portal-client-wizzard.html)

himitsu 2. Sep 2023 10:48


Vielleicht ein Quality Portal Client/Wizzard ?
 
Liste der Anhänge anzeigen (Anzahl: 2)
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. :lol:
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
Delphi-Quellcode:
https://quality.embarcadero.com/rest/api/latest/

oder
Delphi-Quellcode:
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.

Delphi-Quellcode:
/attachments
ist zum Uploaden der Anhänge.
MultiPart-Mime-Dingens mit
Content-Disposition: form-data; name="file"; filename="starfish.jpg"
Content-Type: image/jpeg


Delphi-Quellcode:
/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
Delphi-Quellcode:
/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?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz