Objecten verplaatsen tussen Workfront omgevingen die de Workfront Omgevingspromotie-API
Met de mogelijkheid Omgevingsbevordering kunt u configuratiegerelateerde objecten van de ene omgeving naar de andere verplaatsen. U kunt deze objecten verplaatsen met de Workfront API, zoals beschreven in dit artikel.
Voor instructies over het verplaatsen van objecten tussen omgevingen met de Workfront-toepassing raadpleegt u:
Toegangsvereisten
U moet het volgende hebben:
Zie voor meer informatie over de informatie in deze tabel Toegangsvereisten in Workfront-documentatie.
Vereisten
Het Create eindpunt van het Pakket van de Bevordering veronderstelt dat u reeds het bronmilieu hebt gevormd. Voor deze API-aanroep moet handmatig een objectkaart worden gemaakt van Workfront objCodes en object GUIDs. De specifieke structuur van deze kaart wordt hieronder beschreven.
Ondersteunde objecten voor milieubescherming
Het vermogen van de Bevordering van het Milieu is bedoeld om de capaciteit te verstrekken om op configuratie betrekking hebbende voorwerpen van één milieu aan een andere te bewegen. Het ondersteunt niet de mogelijkheid om transactieobjecten te verplaatsen (met beperkte uitzonderingen).
Voor een lijst met promoteerbare objecten en de bijbehorende promoteerbare subobjecten raadpleegt u Ondersteunde objecten voor milieubescherming in het artikel Overzicht van het verplaatsen van objecten tussen Workfront-omgevingen.
Verificatie
De API verifieert elke aanvraag om ervoor te zorgen dat de client toegang heeft om een aangevraagd object te bekijken of te wijzigen.
Verificatie wordt uitgevoerd door een sessie-id of API-sleutel door te geven. Deze kan met de volgende methode worden gegeven:
Koptekstverificatie aanvragen
De aangewezen methode van authentificatie is een verzoekkopbal over te gaan genoemd SessionID die het zittingsteken bevat. Dit heeft het voordeel dat u veilig bent tegen Cross-site Request-vervalsing (CSRF) aanvallen en niet interfererend met URI voor caching doeleinden.
Hieronder ziet u een voorbeeld van een aanvraagkoptekst:
GET /attask/api/v15.0/project/search
SessionID: abc1234
API-eindpunten
- Een pakket maken
- Een lijst met pakketten ophalen
- Pakket ophalen op id
- Specifieke eigenschappen van een pakket bijwerken
- Een pakket verwijderen
- Een prerun uitvoeren
- Een installatie uitvoeren
- Een lijst met installaties voor een specifiek pakket ophalen
- Haal de installatiegegevens voor een installatie op
Een pakket maken
Deze vraag voert een multi-step proces uit.
De eerste stap resulteert in de creatie van een leeg promotiepakket in de status "ASSEMBLING".
In de tweede stap worden de objectCollections
-array in de POST-instantie om de gevraagde gegevens van Workfront samen te stellen. Deze stap kan enkele minuten duren, afhankelijk van het aantal opgevraagde records en uw Workfront-configuratie. Aan het einde van dit proces wordt het lege promotiepakket bijgewerkt met de packageEntities
en de status wordt automatisch ingesteld op "DRAFT".
objectCollections
array.objCode
sleutel die overeenkomt met de objectcode die wordt gedocumenteerd in de Workfront API Explorer.entities
verzameling. Dit verwacht ID
veld. De toepassing kan ook een optionele name
om het gemakkelijker te maken om te weten wat ID
vertegenwoordigt.objectCollections
lijst, zie Ondersteunde objecten voor milieubescherming in dit artikel.URL
POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages
Kopteksten
{
"apikey": "**********",
"Content-Type": "application/json"
}
of
{
"sessionID": "*****************",
"Content-Type": "application/json"
}
Lichaam
{
"name": "Agency Onboarding - 2023-06-06",
"description": "This promotion package contains configuration to support the agency onboarding processes...",
"source": "https://{domain}.{environment}.workfront.com",
"objectCollections": [
{
"objCode": "PROJ",
"entities": [
{
"ID": "6419b8b9001151ee258921a4f7597ba1",
"name": "Agency Request"
}
]
},
{
"objCode": "TMPL",
"entities": [
{
"ID": "6419b8b9001151ee258921a4f7597bb2",
"name": "New Agency Onboarding"
},
{
"ID": "6419b8b9001151ee258921a4f7597bc3",
"name": "New Agency Offboarding"
}
]
},
{
"objCode": "PTLTAB",
"entities": [
{
"ID": "645e6435000b4aaebe4776f4a42ed5ad",
"name": "Agency Performance and Readiness"
}
]
}
]
}
Antwoord
200
{
"data": {
"id": "1d5693b9-b7b5-492d-8219-c21f34bcaca6",
"name": "Agency Onboarding - 2023-06-06",
"description": "This promotion package contains configuration to support the agency onboarding processes...",
"source": "https://{domain}.{environment}.workfront.com",
"status": "ASSEMBLING",
"version": 1,
"createdAt": "2023-06-06T17:29:21.600Z",
"createdById": "61aa9d0e0005fcee8f212835bdaa2619",
"publishedAt": null,
"customerId": "61aa9d090005fa42152c1cb66659f38d"
}
}
Een lijst met pakketten ophalen
Deze vraag keert een ongefilterde lijst van bevorderingspakketten terug die tot de klant behoren.
De reactie omvat alle pakketten die zijn gemaakt op basis van een sandbox, voorvertoning of productie-instantie van Workfront van de klant.
URL
GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages
Kopteksten
{
"apikey": "**********"
}
of
{
"sessionID": "*****************"
}
Lichaam
Leeg
Antwoord
200
{
"data": [
{
"id": "1d5693b9-b7b5-492d-8219-c21f34bcaca6",
"name": "Agency Onboarding - 2023-06-06",
"description": "This promotion package contains configuration to support the agency onboarding processes...",
"status": "ASSEMBLING",
"createdAt": "2023-06-06T17:29:21.600Z",
"deletedAt": null
},
{...}
]
}
<!—Schakel hierboven "status" in—is deze toegevoegd?—>
Pakket ophalen op id
Deze oproep retourneert de details van een aangevraagd promotiepakket.
Het verzoek kan worden gedaan door om het even welke milieu ongeacht de originele bron van het bevorderingspakket.
URL
GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}
Kopteksten
{
"apikey": "**********"
}
of
{
"sessionID": "*****************"
}
Lichaam
Leeg
Antwoord
200
{
"data": {
"id": "1d5693b9-b7b5-492d-8219-c21f34bcaca6",
"name": "Agency Onboarding - 2023-06-06",
"description": "This promotion package contains configuration to support the agency onboarding processes...",
"source": "https://{domain}.{environment}.workfront.com",
"status": "DRAFT",
"version": 1,
"createdAt": "2023-06-06T17:29:21.600Z",
"publishedAt": null,
"customerId": "61aa9d090005fa42152c1cb66659f38d",
"packageEntities": {
"GROUP": [
{
"id": "52aa9d0e0005fcee8f212835bdaa2691",
"name": "Default Group",
"description": "null"
- or -
"description": "..."
}
],
"ROLE": [
{...}
],
...
}
}
}
Specifieke eigenschappen van een pakket bijwerken
Deze oproep werkt de inhoud van het promotiepakket bij die in de PATCH-instantie wordt geleverd.
De bewerkbare kenmerken zijn:
- name (string)
- description (string)
- status (tekenreeks met validatie van waarden)
Zie voor een gedetailleerde beschrijving van de beschikbare statussen Status van milieubescherming in het artikel Overzicht van het verplaatsen van objecten tussen Workfront-omgevingen.
URL
PATCH https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}
Kopteksten
{
"apikey": "**********",
"Content-Type": "application/json"
}
of
{
"sessionID": "*****************",
"Content-Type": "application/json"
}
Lichaam
{
"status": "ACTIVE"
}
Antwoord
200
{
"data": {
"id": "1d5693b9-b7b5-492d-8219-c21f34bcaca6",
"name": "Agency Onboarding - 2023-06-06",
"description": "This promotion package contains configuration to support the agency onboarding processes...",
"source": "https://{domain}.{environment}.workfront.com",
"status": "ACTIVE",
"version": 1,
"createdAt": "2023-06-06T17:29:21.600Z",
"publishedAt": "2023-06-06T19:39:01.600Z",
"customerId": "61aa9d090005fa42152c1cb66659f38d",
"packageEntities": {
"GROUP": [
{
"id": "52aa9d0e0005fcee8f212835bdaa2691",
"name": "Default Group",
"description": "..."
}
],
"ROLE": [
{...}
],
...
}
}
}
Een pakket verwijderen
Met deze aanroep wordt de record voor het promotiepakket verwijderd. Deze actie is onomkeerbaar.
URL
DELETE https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}
Kopteksten
{
"apikey": "**********"
}
of
{
"sessionID": "*****************"
}
Lichaam
Leeg
Antwoord
200
Deleted
Een prerun uitvoeren
Met deze aanroep wordt een vergelijking gemaakt tussen de pakketdefinitie en de doelomgeving die in de URL is aangegeven.
Het resultaat is een JSON-instantie die aangeeft of een promotieobject al dan niet wordt gevonden in de doelomgeving.
Voor elk promotieobject een van de volgende actions
wordt ingesteld:
Er is momenteel geen ondersteuning voor een UPDATE action
in de alfamogelijkheden van deze service. De optie voor een UPDATE action
is iets wat wij onderzoeken.
URL
POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/:id/prepare-installation
Kopteksten
{
"apikey": "**********",
"Content-Type": "application/json"
}
of
{
"sessionID": "*****************",
"Content-Type": "application/json"
}
Lichaam
{}
Antwoord
200
{
"environmentPromotionPackageId": "45f2ae94-76c0-4b13-8f3b-f688de83043d",
"environmentPromotionPackageVersion": 1,
"id": "c0bc79bd-c9c1-4b5b-b118-b1241392de0e",
"userId": "5ba38da500b752fd66439d4f6a9999a1",
"customerId": "5ba38d9d00b74f0c7a38b1b487fc9710",
"status": "PREPARING",
"environment": "mmi.my.workfront.com",
"registeredAt": "2023-10-19T20:00:16.697Z",
"updatedAt": "2023-10-19T20:00:16.701Z",
"translationMap": {
"CTGY": {
"62d9c9a0000013aeeefe7242a0a5fdb2": {
"name": "Example Document Form",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d9c9a0000013aeeefe7242a0a5fdb2"
}
},
"PGRP": {
"62d1eee4001c6618e6b9f9a588ba1598": {
"name": "Asset Detail",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d1eee4001c6618e6b9f9a588ba1598"
}
},
"GROUP": {
"5ba38da500b752b0f46d13186030b7ad": {
"name": "Default Group",
"action": "USEEXISTING",
"isValid": true,
"targetId": "5ba38da500b752b0f46d13186030b7ad"
}
},
"PARAM": {
"62d1eee400f8578895166ee91a83f97a": {
"name": "Asset Type",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d1eee400f8578895166ee91a83f97a"
},
"62d1eee50001407c713514a8970b58e4": {
"name": "Keywords",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d1eee50001407c713514a8970b58e4"
},
"62d1eee5000333ac3981ea4f3df6d88e": {
"name": "Permitted Uses",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d1eee5000333ac3981ea4f3df6d88e"
},
"62d1eee5000b188e9ec8039a097fc7ab": {
"name": "File Format",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d1eee5000b188e9ec8039a097fc7ab"
},
"62d1eee500100c159fd5f838ce560507": {
"name": "CTA",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d1eee500100c159fd5f838ce560507"
},
"62d9c988001c1f23954dbb9d646335b5": {
"name": "Other CTA",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d9c988001c1f23954dbb9d646335b5"
},
"62d9c9880070f546cf4c798ea6c3eaa4": {
"name": "Other Audience",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d9c9880070f546cf4c798ea6c3eaa4"
},
"62d9c990006258baf1b40f2569c3eab7": {
"name": "Target Audience",
"action": "USEEXISTING",
"isValid": true,
"targetId": "62d9c990006258baf1b40f2569c3eab7"
}
}
}
}
id
veld. In dit voorbeeld wordt id
veld bevindt zich derde boven en heeft een waarde die begint met c0bc79bd
.Een installatie uitvoeren
Deze vraag stelt een installatiepoging van een bevorderingspakket in het doelmilieu in werking dat in de POST URL wordt geïdentificeerd.
URL
POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/installations/{id}/install
Kopteksten
{
"apikey": "**********",
"Content-Type": "application/json"
}
of
{
"sessionID": "*****************",
"Content-Type": "application/json"
}
Lichaam
{
}
Antwoord
202
{}
Een lijst met installaties voor een specifiek pakket ophalen
De resultaten omvatten installatiegebeurtenissen van alle milieu's het pakket is opgesteld aan. Zij zijn niet beperkt tot de installaties voor het milieu waarmee het verzoek wordt gedaan. Zo kunt u bepalen welke omgevingen dit pakket hebben ontvangen.
URL
GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/installations?environmentPromotionPackageId={environmentPromotionPackageId}
Kopteksten
{
"apikey": "**********"
}
of
{
"sessionID": "*****************"
}
Lichaam
Leeg
Antwoord
200
[
{
"id": "2892b936-e09e-455a-935f-e1462ab9753c",
"environmentPromotionPackageId": "4fae2b9d-d315-45f4-909f-a0c0d79fc65d",
"environmentPromotionPackageVersion": 1,
"userId": "8fbbc5bcf4f94a5b862483ee05573e73",
"customerId": "54286d78b064451096752b99bf968481",
"status": "INSTALLED",
"environment": "https://{domain}.{environment}.workfront.com",
"registeredAt": "2021-03-16T02:21:31.908Z",
"updatedAt": null,
"translationMap": {
"ROLE": {
"5f6d114f006883209828ddd9088e63b3": {
"name": "DAM Curator",
"action": "USEEXISTING",
"isValid": true,
"targetId": "600f4bed00028a718599f29575840053"
},
"ad535a9ebe647361e053a7656a0a1575": {
"name": "Copywriter",
"action": "USEEXISTING",
"isValid": true,
"targetId": "600f162700001ca051081c06667b14a4"
},
...
},
"TMPL": {
"5f9b317c00b3db5af69abcd1ed5f82aa": {
"name": "Digital Asset Production (Integrated)",
"action": "CREATE",
"isValid": true,
"targetId": "6054cda40000d5af63dc811d9c2b3a07"
},
...
},
...
}
},
{...}
]
Haal de installatiegegevens voor een installatie op
Deze vraag zal definitief terugkeren translationMap
geproduceerd door de installatieservice voor een specifieke installatie.
In elke record wordt vermeld wat de voorgeschreven gegevens zijn action
was en of die actie succesvol was of niet.
Voor records met een CREATE action
de targetId
het veld wordt ingesteld met de waarde van de nieuwe record in het doelsysteem. Daarnaast worden de installationStatus
wordt ingesteld op INSTALLED.
Voor records met het USEEXIST action
de targetId
wordt ook het veld ingesteld en installationStatus
wordt ingesteld op GEREGISTREERD. Dit betekent dat het kaartproces volledig was en de installatieservice erkent dat het het verslag heeft geëvalueerd en er niets om te handelen is.
Als de record een CREATE heeft action
maar de record kan niet worden gemaakt. installationStatus
wordt ingesteld op MISLUKT en de reden voor de fout wordt ook opgegeven.
URL
GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/installations/{id}
Kopteksten
{
"apikey": "**********"
}
of
{
"sessionID": "*****************"
}
Lichaam
Leeg
Antwoord
200
{
"id": "2892b936-e09e-455a-935f-e1462ab9753c",
"environmentPromotionPackageId": "4fae2b9d-d315-45f4-909f-a0c0d79fc65d",
"environmentPromotionPackageVersion": 1,
"userId": "8fbbc5bcf4f94a5b862483ee05573e73",
"customerId": "54286d78b064451096752b99bf968481",
"status": "INSTALLED",
"environment": "https://{domain}.{environment}.workfront.com",
"registeredAt": "2021-03-16T02:21:31.908Z",
"updatedAt": null,
"translationMap": {
"ROLE": {
"5f6d114f006883209828ddd9088e63b3": {
"name": "DAM Curator",
"action": "USEEXISTING",
"isValid": true,
"targetId": "600f4bed00028a718599f29575840053"
},
...
},
"TMPL": {
"5f9b317c00b3db5af69abcd1ed5f82aa": {
"name": "Digital Asset Production (Integrated)",
"action": "CREATE",
"isValid": true,
"targetId": "6054cda40000d5af63dc811d9c2b3a07"
},
...
},
...
}
}
Overschrijven
Dit is een proces in drie stappen.
- Een vertaalkaart maken (dit is te vergelijken met de installatiefase "De installatie voorbereiden")
- Bewerk de gegenereerde vertaalkaart en stel de
action
entargetId
velden voor elk object dat ze willen overschrijven. De actie moetOVERWRITING
en detargetId
moet de uuid zijn van het object dat moet worden overschreven - Voer de installatie uit.
Stap 1 - Een vertaalkaart maken
URL
POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}/translation-map
Lichaam
Geen
Antwoord
Een vertaalkaart, met een 202 - OK
status
{
{objcode}: {
{object uuid}: {
"targetId": {uuid of object in destination},
"action": {installation action},
"name": {name of the object},
"isValid": true
},
{...more objects}
},
{...more objcodes}
}
Voorbeeld
{
"UIVW": {
"109f611680bb3a2b0c0a8c1f5ec63f6d": {
"targetId": "6643a26b0001401ff797ccb318f97aa6",
"action": "CREATE",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"UIGB": {
"edb4c6c127d38910e4860eb25569a5cc": {
"targetId": "6643a26b000178fb5cc27b74cc1e87ec",
"action": "USEEXISTING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"UIFT": {
"f97b662e229fd09ee595d8d359ec88bd": {
"targetId": "6643a26b00015cdd6727b76d6fda1d1d",
"action": "USEEXISTING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"PTLSEC": {
"4bb80aa88a96420296a7f47bf866f162": {
"targetId": "4bb80aa88a96420296a7f47bf866f162",
"action": "USEEXISTING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"EXTSEC": {
"65f8637900015e4dceb6fe079bd5409d": {
"targetId": "65f8637900015e4dceb6fe079bd5409d",
"action": "USEEXISTING",
"name": "Asnyc List",
"isValid": true
}
},
"PTLTAB": {
"65f8638a00016422a83ddc3508852d0f": {
"targetId": "65f8638a00016422a83ddc3508852d0f",
"action": "CREATEWITHALTNAME",
"name": "Cool 2.0 The Best",
"isValid": true
}
}
}
Stap 2 - Wijzig de Omzettingskaart
Er is geen eindpunt voor deze stap.
-
In de vertaalkaart die is geretourneerd in Stap 1 - Een vertaalkaart maken, inspecteert u de lijst met objecten die worden geïnstalleerd.
-
Werk het actieveld op elk voorwerp aan de gewenste installatieactie bij.
-
Valideer de
targetId
op elk object. Als de handeling setUSEEXISTING
ofOVERWRITING
detargetId
moet worden ingesteld op de UUID van het doelobject in de doelomgeving. Voor elke andere actie moet targetId een lege tekenreeks zijn.note note NOTE De targetId
is reeds bevolkt als een botsing werd ontdekt.
Stap 3 - Installeren
URL
POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}/install
Lichaam
Dit is een object met één veld translationMap
, die gelijk moet zijn aan de aangepaste vertaalkaart van Stap 2 - Wijzig de Omzettingskaart.
{
"translationMap": {
{objcode}: {
{object uuid}: {
"targetId": {uuid of object in destination},
"action": {installation action},
"name": {name of the object},
"isValid": true
},
{...more objects}
},
{...more objcodes}
}
}
Voorbeeld
{
"translationMap": {
"UIVW": {
"109f611680bb3a2b0c0a8c1f5ec63f6d": {
"targetId": "6643a26b0001401ff797ccb318f97aa6",
"action": "USEEXISTING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"UIGB": {
"edb4c6c127d38910e4860eb25569a5cc": {
"targetId": "6643a26b000178fb5cc27b74cc1e87ec",
"action": "USEEXISTING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"UIFT": {
"f97b662e229fd09ee595d8d359ec88bd": {
"targetId": "6643a26b00015cdd6727b76d6fda1d1d",
"action": "OVERWRITING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"PTLSEC": {
"4bb80aa88a96420296a7f47bf866f162": {
"targetId": "4bb80aa88a96420296a7f47bf866f162",
"action": "USEEXISTING",
"name": "Actual Portfolio Cost by Program",
"isValid": true
}
},
"EXTSEC": {
"65f8637900015e4dceb6fe079bd5409d": {
"targetId": "65f8637900015e4dceb6fe079bd5409d",
"action": "USEEXISTING",
"name": "Asnyc List",
"isValid": true
}
},
"PTLTAB": {
"65f8638a00016422a83ddc3508852d0f": {
"targetId": "65f8638a00016422a83ddc3508852d0f",
"action": "CREATEWITHALTNAME",
"name": "Cool 2.0 The Best",
"isValid": true
}
}
}
}
Antwoord
De reactie omvat de {uuid of the created installation}
en 202 - ACCEPTED
status.
Voorbeeld: b6aa0af8-3520-4b25-aca3-86793dff44a6