Gemeinsame Operationen
Abrufen von Datensätzen
Eine Entität anhand ihrer IDs abfragen, eine gefilterte Liste abrufen oder Assoziationen ermitteln.
Abfrage einer Entität anhand ihrer IDs
/api/v2/{entity}/{id1},{id2},…,{idn}Abfrage eines oder mehrerer Datensätze anhand der IDWird nur eine ID angegeben, lautet die Antwort { data: {object} }. Werden mehrere IDs angegeben, lautet die Antwort { data: [{object1}, {object2}, … {objectn}] }.
Sie können maximal 10 IDs gleichzeitig abfragen. Die Eigenschaftsschlüssel und ihre Bedeutung sind in der API-Eigenschaftsreferenz in Ihrem Celoxis-Konto aufgeführt.
So rufen Sie eine Aufgabe mit der ID 123 ab:
curl -g -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: bearer YourTokenHere' \ 'https://app.celoxis.com/psa/api/v2/tasks/123'So rufen Sie Aufgaben mit den IDs 123, 456 und 789 ab:
curl -g -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: bearer YourTokenHere' \ 'https://app.celoxis.com/psa/api/v2/tasks/123,456,789'Leistung des Listenendpunkts
| Thema | Details |
|---|---|
| Betroffen | APIs für paginierte Listen, einschließlich GET /api/v2/projects, GET /api/v2/tasks, GET /api/v2/timeEntriesund anderer Listenendpunkte |
| Was hat sich geändert? | Die Felder „Baseline“ und „Earned Value“ werden in paginierten Listenantworten nicht mehr standardmäßig zurückgegeben |
| Betroffene Felder | baselineStart, baselineFinish, cpi, spi, bcwp, bcws, acwp, costVariance, scheduleVariance, plannedPercentComplete |
| Was zu tun | 1. Fordern Sie das benötigte Feld mithilfe des `fields` in Listen-API-Aufrufen an. Die genauen Feldschlüssel finden Sie in der API-Eigenschaftenreferenz. 2. Alternativ können Sie eine GET-Anfrage für einen einzelnen Datensatz verwenden (z. B. `GET /api/v2/projects/{id}` oder `GET /api/v2/tasks/{id}`), die weiterhin alle Daten zurückgibt. |
| Unverändert | Die APIs für Einzeldatensätze (GET), Filterung, Sortierung, Paginierung und der „fields“ sind weiterhin verfügbar. Alle Felder werden lediglich aus Performancegründen in den Standardantworten weggelassen. |
Abrufen von Aufgaben einschließlich Baseline- und Earned-Value-Feldern in einer Listenabfrage:
curl -g -X GET \ -H 'Authorization: bearer YourTokenHere' \ -G --data-urlencode 'fields=["id","name","baselineStart","cpi","spi"]' \ 'https://app.celoxis.com/psa/api/v2/tasks'Abfrage einer Liste
Listenabfragen funktionieren in Celoxis wie Berichte: Sie können die Ergebnisse filtern, sortieren und paginieren.
/api/v2/{entity}Eine Liste von Datensätzen abfragenDie Antwort ist ein JSON-Objekt im folgenden Format: { data: [{object1}, {object2}, … {objectN}], totalRecords: M, nextPage: Z } wobei totalRecords die Gesamtzahl der von der Abfrage zurückgegebenen Datensätze ist und nextPage die Nummer der nächsten Seite von Datensätzen ist, falls weitere Daten abgerufen werden müssen.
Filterung
Übergeben Sie ein JSON-Objekt als Filterparameter an die API-Anfrage. Jeder Schlüssel repräsentiert eine Eigenschaft, und jeder Wert ist der Filter für diese Eigenschaft. Dieser Filter ruft Aufgaben ab:
{ "name": "^5", "custom_city": [ "Chicago", "New York" ], "project.deadline": "Nächsten Monat", "project.custom_bid": "Gewonnen" }Der obige Filter ruft Aufgaben ab, deren 1) Name mit 5 , 2) deren benutzerdefiniertes Attribut „Stadt“ (Formelschlüssel „ city“) entweder „Chicago“ oder „New York“ ist, 3) deren Projektfrist im nächsten Monat liegt und 4) deren benutzerdefiniertes Feld „Gebot“ (Formelschlüssel „ bid“) den Wert „Gewonnen“ hat. Die Eigenschaftsschlüssel sind in der API-Eigenschaftsreferenz in Ihrem Celoxis-Konto aufgeführt.
Sortierung
Um die Ergebnisse zu sortieren, übergeben Sie `sort` als Abfrageparameter an die API-Anfrage. Verwenden Sie eine durch Kommas getrennte Liste von Feldschlüsseln. Hängen Sie ` /desc` an einen Schlüssel an, um die Ergebnisse absteigend zu sortieren.
Beispielsweise `/api/v2/tasks? sort=project.name,plannedStart/desc` Aufgaben nach Projektnamen und anschließend nach geplantem Startdatum in absteigender Reihenfolge. Sortierbare Felder sind in der API-Eigenschaftenreferenz Ihres Celoxis-Kontos gekennzeichnet.
Pagination
Eine Listenanfrage liefert maximal 250 Datensätze. Um eine spätere Seite abzurufen, übergeben Sie die Seite in der API-Anfrage, zum Beispiel /api/v2/tasks?page=2.
Felder
Standardmäßig werden die meisten Spalten zurückgegeben. Baseline- und Earned-Value-Felder (wie z. B. baselineStart , baselineFinish , cpi , spi und zugehörige Metriken) werden in Listenantworten nicht angezeigt, es sei denn, Sie fordern sie explizit mit dem Parameter `fields` an. Um nur die benötigten Spalten zu erhalten, übergeben Sie `fields` als Abfrageparameter – ein JSON-Array mit den Feldschlüsseln. Dies funktioniert sowohl für Listenabfragen als auch für das Abrufen anhand der ID. Die Eigenschaften `id` und `url` werden immer mitgeliefert
Die Feldschlüssel sind in der API-Eigenschaftenreferenz Ihres Celoxis-Kontos aufgeführt. Verwenden Sie für die meisten Spalten den angegebenen Schlüssel. Bei Verknüpfungsspalten (z. B. Benutzer oder Projekt in einem Zeiteintrag) verwendet die Tabelle __data_ als Trennzeichen. Ersetzen Sie dieses im „fields“ durch einen Punkt – z. B. user.name statt user.__data_name. Die Antwort verwendet weiterhin den kürzeren Schlüssel (z. B. user).
Um anstelle des bloßen Verknüpfungslinks auch Assoziationsdaten einzubeziehen, fügen Sie die benötigten Assoziationsspalten dem Felder -Array hinzu (z. B. user.name, project.name).
Zeiteinträge für Projekt 1234 abrufen, wobei nur ID, Datum, Stunden, Kommentare, Zeitcode, Status sowie Benutzer- und Projektdetails zurückgegeben werden:
curl -g -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: bearer YourTokenHere' \ -G --data-urlencode 'fields=["id","date","hours","comments","timeCode","state","user.name","project.name"]' \ --data-urlencode 'filter={"project.id":"1234"}' \ 'https://app.celoxis.com/psa/api/v2/timeEntries'Rufe die zweite Seite mit Aufgaben ab, deren Name mit „Joy“ beginnt, einschließlich Projektname und Abgabetermin:
curl -g -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: bearer YourTokenHere' \ -G --data-urlencode 'filter={"name":"^Joy","project.deadline":"Next Week"}' \ --data-urlencode 'fields=["id","name","project.name","project.deadline"]' \ 'https://app.celoxis.com/psa/api/v2/tasks?page=2'Abfragen von Assoziationen
So rufen Sie Details zu den Assoziationen einer Entität ab:
/api/v2/{entity}/{id}/{association}Fragt die Assoziationen eines Datensatzes abRufe alle Vorgänger einer Aufgabe mit der ID 12345 ab:
curl -g -X GET \ -H 'Content-Type: application/json' \ -H 'Authorization: bearer YourTokenHere' \ 'https://app.celoxis.com/psa/api/v2/tasks/12345/predecessors'