Flytta objekt mellan Workfront-miljöer med Workfront-miljöreklam-API:t

Med funktionen för miljöfrämjande åtgärder kan du flytta konfigurationsrelaterade objekt från en miljö till en annan. Du kan flytta dessa objekt med Workfront API enligt beskrivningen i den här artikeln.

Instruktioner om hur du flyttar objekt mellan miljöer med Workfront finns i:

Åtkomstkrav

Du måste ha följande:

Adobe Workfront plan
Prime eller Ultimate (endast nya planer)
Adobe Workfront licenser
Standard
Konfigurationer på åtkomstnivå
Du måste vara en Workfront-administratör.

Mer information om informationen i den här tabellen finns i Åtkomstkrav i Workfront-dokumentationen.

Förutsättningar

Slutpunkten Skapa kampanjpaket förutsätter att du redan har konfigurerat källmiljön. Detta API-anrop kräver att du skapar en objektmappning av Workfront objCodes och objekt-GUID:n manuellt. Kartans specifika struktur beskrivs nedan.

Objekt som stöds för miljöbefordran

Funktionen för miljömarknadsföring är avsedd att göra det möjligt att flytta konfigurationsrelaterade objekt från en miljö till en annan. Det stöder inte möjligheten att flytta transaktionsobjekt (med begränsade undantag).

En lista över befordrbara objekt och deras tillhörande befordrbara underobjekt finns i Objekt som stöds för miljöbefordran i artikeln Översikt över rörliga objekt mellan Workfront-miljöer.

Autentisering

API:t autentiserar varje begäran för att säkerställa att klienten har åtkomst att visa eller ändra ett begärt objekt.

Autentisering utförs genom att ett sessions-ID eller en API-nyckel skickas, som kan ges med följande metod:

Autentisering av begärandehuvud

Den autentiseringsmetod som rekommenderas är att skicka ett begärandehuvud med namnet SessionID som innehåller sessionstoken. Fördelen med detta är att det är säkert mot CSRF-attacker (Cross-site Request Forgery) och att det inte stör URI:n för cachelagring.

Följande är ett exempel på en begäranderubrik:

GET /attask/api/v15.0/project/search
SessionID: abc1234

API-slutpunkter

Skapa ett paket

POST /packages

Det här anropet kör en flerstegsprocess.

I det första steget skapas ett tomt kampanjpaket med statusen"ASSEMBLING".

I det andra steget används arrayen objectCollections som finns i POSTENS brödtext för att samla ihop de begärda posterna från Workfront. Det här steget kan ta flera minuter, beroende på hur många poster som har begärts och din Workfront-konfiguration. I slutet av den här processen uppdateras det tomma erbjudandepaketet med packageEntities och statusen anges automatiskt till UTKAST.

NOTE
Observera strukturen för arrayen objectCollections.
Varje objekt i arrayen innehåller en objCode-nyckel som motsvarar objektkoden som beskrivs i Workfront API Explorer.
Varje objekt innehåller också en entities-samling. Detta förväntar sig fältet ID. Den kan också acceptera ett valfritt name-attribut så att det blir lättare att veta vad ID representerar.
En lista över tillåtna objektkoder som ska begäras i listan objectCollections finns i avsnittet Objekt som stöds för miljöbefordran i den här artikeln.

URL

POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages

Sidhuvuden

{
    "apikey": "**********",
    "Content-Type": "application/json"
}

eller

{
    "sessionID": "*****************",
    "Content-Type": "application/json"
}

Brödtext

{
    "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"
                }
            ]
        }
    ]
}

Svar

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"
    }
}

Hämta en lista med paket

GET /packages

Det här samtalet returnerar en ofiltrerad lista över kampanjpaket som tillhör kunden.

Svaret inkluderar alla paket som skapats från någon av kundens sandlåda, förhandsgranskning eller produktionsinstanser av Workfront.

URL

GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages

Sidhuvuden

{
    "apikey": "**********"
}

eller

{
    "sessionID": "*****************"
}

Brödtext

Tom

Svar

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
},
        {...}
    ]
}

<!—Check on "status" above—was added?—>

Hämta ett paket med ID

GET /packages/{id}

Detta samtal returnerar information om ett begärt kampanjpaket.

Begäran kan göras i vilken miljö som helst, oavsett kampanjpaketets ursprungliga källa.

URL

GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}

Sidhuvuden

{
    "apikey": "**********"
}

eller

{
    "sessionID": "*****************"
}

Brödtext

Tom

Svar

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": [
               {...}
            ],
            ...
        }
   }
}

Uppdatera specifika egenskaper för ett paket

PATCH /packages/{id}

Det här samtalet uppdaterar allt innehåll i erbjudandepaketet som finns i PATCH.

De redigerbara attributen är:

  1. name (sträng)
  2. description (string)
  3. status (sträng med värdevalidering)

En detaljerad beskrivning av tillgängliga statusvärden finns i Status för miljöbefordran i artikeln Översikt över rörliga objekt mellan Workfront-miljöer.

URL

PATCH https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}

Sidhuvuden

{
    "apikey": "**********",
    "Content-Type": "application/json"
}

eller

{
    "sessionID": "*****************",
    "Content-Type": "application/json"
}

Brödtext

{
    "status": "ACTIVE"
}

Svar

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": [
               {...}
            ],
            ...
        }
   }
}

Ta bort ett paket

DELETE /packages/{id}

Det här anropet tar bort kampanjposten. Den här åtgärden är oåterkallelig.

NOTE
I stället för att ta bort ett kampanjpaket rekommenderar vi att du ändrar paketets status till INAKTIVERAT. Detta gör att paketet kan hämtas och att installationshistoriken för var det distribuerades sparas.

URL

DELETE https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}

Sidhuvuden

{
    "apikey": "**********"
}

eller

{
    "sessionID": "*****************"
}

Brödtext

Tom

Svar

200
Deleted

Utför en förkörning

IMPORTANT
Innan du kan köra en installation måste du köra den här förkörningen. Du kommer att använda det ID som genereras från det här anropet när du kör installationen.
POST {customer-domain}/environment-promotion/api/v1/packages/{id}/prepare-installation

Det här anropet utför en jämförelse mellan paketdefinitionen och målmiljön som identifieras i URL:en.

Resultatet är ett JSON-organ som identifierar om ett erbjudande-objekt hittas eller inte i målmiljön.

Ett av följande actions kommer att anges för varje erbjudande:

SKAPA

När en motsvarande post inte kan hittas i målmiljön, ställs åtgärden in på CREATE.

När den här åtgärden anges i translationmap som tillhandahålls till /install-slutpunkten, skapar installationstjänsten posten.

ANVÄNDNING

När en motsvarande post hittas i målmiljön anges åtgärden till USEEXISTING och en targetId hämtas också i translationmap.

När den här åtgärden anges i translationmap som tillhandahålls till /install-slutpunkten skapas inte posten av installationstjänsten. Däremot används targetId som ingår i mappningsposten för andra objekt som kan ha en referens till den här posten.

En standardgrupp kan till exempel hittas i målmiljön som ett paket distribueras till. Det går inte att ha två standardgruppposter, så installationstjänsten använder GUID för den befintliga gruppen i andra objektskapande åtgärder som innehåller en referens till standardgruppen, till exempel ett projekt, ett formulär eller någon annan enhet som är relaterad till den här gruppen.

Obs!

  • När åtgärden USEEXISTING tilldelas ändras inte den befintliga posten i målmiljön.

    Om beskrivningen för standardgruppen till exempel har ändrats i sandlådan där paketet skapades och beskrivningsvärdet är ett annat i målmiljön, ändras inte värdet efter en installation med denna translationmap.

ÖVERSKRIVNING

Den här åtgärden ställs inte in automatiskt.

Den här åtgärden ger möjlighet att uppdatera ett objekt som finns i målmiljön. Den ger möjlighet att manuellt åsidosätta en tilldelad CREATE- eller USEEXISTING-åtgärd innan anropet /install verkställs.

  • En användare kan uppdatera ett objekt i testmiljön och sedan använda åtgärden VERWRITING för att uppdatera objektet i målmiljön.

  • Om användaren installerar ett erbjudandepaket från början och sedan ett nytt (eller uppdaterat) paket i framtiden innehåller ändringar av objekt i det ursprungliga paketet, kan användaren använda OVERWRITING för att ersätta (åsidosätta) tidigare installerade objekt.

    Mer information om överskrivning finns i avsnittet [Skriva över](#overwriting) i den här artikeln.

IGNORE

Den här åtgärden ställs inte in automatiskt.

Den ger möjlighet att manuellt åsidosätta en tilldelad CREATE- eller USEEXISTING-åtgärd innan anropet /install verkställs.

Anteckningar:

  • Om en post som ursprungligen var inställd på CREATE är inställd på IGNORE, bör alla underordnade poster också vara inställda på IGNORE.

    Om en mallpost till exempel har mappats med en CREATE-åtgärd och användaren vill utesluta den från distributionen, kan de ange att mallens åtgärd ska vara IGNORE.

    Om den installerande användaren inte anger IGNORE för malluppgifter, malluppgiftstilldelningar, föregående malluppgifter, ködefinition, köämnen, routningsregler osv. resulterar distributionen i ett misslyckat installationsförsök.

  • Om en post som ursprungligen var inställd på USEEXISTING är inställd på IGNORE kan det uppstå vissa negativa effekter under installationen.

    Om en grupppost till exempel har mappats med åtgärden USEEXISTING och användaren som installerar ändrar åtgärden till IGNORE, för objekt som kräver en grupp (t.ex. ett projekt kan inte finnas utan en grupp tilldelad), tilldelas systemstandardgruppen till det projektet.

  • Om en post som ursprungligen var inställd på USEEXISTING är inställd på CREATE kan det uppstå vissa negativa effekter under installationsprocessen eftersom många Workfront-enheter har unika namnbegränsningar.

    Om till exempel en post av typen "Standardgrupp" mappades med åtgärden USEEXISTING, och den installerande användaren ändrar åtgärden till CREATE eftersom det redan finns en "Standardgrupp", kommer installationsförsöket inte att kunna slutföra alla steg. Gruppnamn måste vara unika.

    Vissa entiteter har ingen unik namnbegränsning. Om du gör den här ändringen för dessa objekt får du två poster med samma namn. Mallar, projekt, vyer, filter, grupperingar, rapporter och kontrollpaneler kräver till exempel inga unika namnbegränsningar. Det är bäst att ha unika namn för de här posterna, men de används inte.

Det finns för närvarande inget stöd för UPDATE action i den här tjänstens alfafunktioner. Alternativet att tillåta en UPDATE action är något som vi undersöker.

URL

POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/:id/prepare-installation

Sidhuvuden

{
    "apikey": "**********",
    "Content-Type": "application/json"
}

eller

{
    "sessionID": "*****************",
    "Content-Type": "application/json"
}

Brödtext

{}

Svar

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"
            }
        }
    }
}
NOTE
Det ID som du måste köra installationen är fältet id. I det här exemplet är fältet id tredje från överkanten och har ett värde som börjar med c0bc79bd.

Kör en installation

IMPORTANT
Innan du kan köra en installation måste du köra en förkörning. Du använder det ID som genereras från förkörningen när du kör installationen.
Om några ändringar har gjorts i målmiljön (miljön som paketet distribueras till) efter att förkörningen har körts rekommenderar vi att du kör förkörningen igen. Om du inte kör förkörningen igen kanske inte körningen är korrekt eller så kan installationen misslyckas.
Instruktioner om hur du kör en förkörning finns i Kör en förkörning.
POST /install

Det här anropet initierar ett installationsförsök för ett kampanjpaket till målmiljön som identifieras i POSTENS URL.

URL

POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/installations/{id}/install

Sidhuvuden

{
    "apikey": "**********",
    "Content-Type": "application/json"
}

eller

{
    "sessionID": "*****************",
    "Content-Type": "application/json"
}

Brödtext

{
}

Svar

202
{}

Hämta en lista över installationer för ett specifikt paket

GET /v1/installations?environmentPromotionPackageId={environmentPromotionPackageId}

Resultatet är installationshändelser från alla miljöer som paketet har distribuerats till. De är inte begränsade till de anläggningar för miljön genom vilka begäran görs. På så sätt kan du identifiera vilka miljöer som har tagit emot det här paketet.

URL

GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/installations?environmentPromotionPackageId={environmentPromotionPackageId}

Sidhuvuden

{
    "apikey": "**********"
}

eller

{
    "sessionID": "*****************"
}

Brödtext

Tom

Svar

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"
                },
                ...
            },
            ...
        }
    },
    {...}
]

Hämta installationsinformation för en installation

GET /installations/{id}

Det här samtalet returnerar det sista translationMap som skapats av installationstjänsten för en specifik installation.

Varje post anger vad den förskrivna action var och om åtgärden lyckades eller inte.

För poster med CREATE action ställs fältet targetId in med värdet för den nyligen skapade posten i målsystemet. Dessutom ställs fältet installationStatus in på INSTALLED.

För poster med USEEXISTING action ställs även fältet targetId in och fältet installationStatus ställs in på REGISTERED. Detta innebär att mappningsprocessen var slutförd och att installationstjänsten bekräftar att den har utvärderat posten och att det inte finns något att agera på.

Om posten har CREATE action men inte kan skapa posten, ställs installationStatus in på FAILED och orsaken till felet anges också.

URL

GET https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/installations/{id}

Sidhuvuden

{
    "apikey": "**********"
}

eller

{
    "sessionID": "*****************"
}

Brödtext

Tom

Svar

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"
            },
            ...
        },
        ...
    }
}

Skriv över

Detta är en trestegsprocess.

  1. Skapa en översättningskarta (motsvarar fasen"förbereda installation")
  2. Redigera den genererade översättningskartan och ange fälten action och targetId för alla objekt som ska skrivas över. Åtgärden ska vara OVERWRITING och targetId ska vara uuid för objektet som ska skrivas över
  3. Kör installationen.

Steg 1 - Skapa en översättningsöversikt

URL

POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}/translation-map

Brödtext

Ingen

Svar

En översättningskarta med statusen 202 - OK

{
    {objcode}: {
        {object uuid}: {
            "targetId": {uuid of object in destination},
            "action": {installation action},
            "name": {name of the object},
            "isValid": true
        },
        {...more objects}
    },
    {...more objcodes}
}

Exempel

{
    "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
        }
    }
}

Steg 2 - Ändra översättningskartan

Det finns ingen slutpunkt för det här steget.

  1. Granska listan över objekt som ska installeras i översättningskartan som returnerades i Steg 1 - Skapa en översättningskarta.

  2. Uppdatera åtgärdsfältet för varje objekt till önskad installationsåtgärd.

  3. Validera targetId för varje objekt. Om set-åtgärden är USEEXISTING eller OVERWRITING ska targetId anges som UUID för målobjektet i målmiljön. För andra åtgärder ska targetId vara en tom sträng.

    note note
    NOTE
    targetId har redan fyllts i om en kollision upptäcktes.

Steg 3 - Installera

URL

POST https://{domain}.{environment}.workfront.com/environment-promotion/api/v1/packages/{id}/install

Brödtext

Det här är ett objekt med ett enskilt fält translationMap, som ska vara lika med den ändrade översättningskartan från Steg 2 - Ändra översättningskartan.

{
    "translationMap": {
        {objcode}: {
            {object uuid}: {
                "targetId": {uuid of object in destination},
                "action": {installation action},
                "name": {name of the object},
                "isValid": true
            },
            {...more objects}
        },
        {...more objcodes}
    }
}

Exempel

{
    "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
        }
    }
}
}

Svar

Svaret innehåller statusen {uuid of the created installation} och 202 - ACCEPTED.

Exempel: b6aa0af8-3520-4b25-aca3-86793dff44a6

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43