GitHub action that starts a Cloud Manager pipeline execution
To use this action, you must create aan integration must be created in the Adobe I/O Developer Console which has the Cloud Manager service. See the Cloud Manager API Documentation for more information.
This action can be configured two different ways -- either in combination with aio-apps-action or standalone. The former would be appropriate if your workflow involved other Adobe I/O integrations since the same access token could be used for multiple actions.
NOTE: The JWT mode of authentication is deprecated and will be completely removed by Jan,2025. So if you are using JWT integration, it is recommended to migrate to OAuth. Check migration guide for more details.
CLIENTID- Client ID for the project in the I/O Developer ConsoleCLIENTSECRET- Client Secret for the project in the I/O Developer ConsoleTECHNICALACCOUNTID- Technical Account Email for the project in the I/O Developer ConsoleIMSORGID- IMS Organization ID for the project in the I/O Developer ConsoleKEY- Private key for the project in the I/O Developer ConsolePROGRAMID- Cloud Manager Program IDPIPELINEID- Cloud Manager Pipeline ID
- name: Create Execution
uses: adobe/aio-cloudmanager-create-execution-action@v1.2.0
with:
CLIENTID: ${{ secrets.CM_CLIENT_ID }}
CLIENTSECRET: ${{ secrets.CM_CLIENT_SECRET }}
TECHNICALACCOUNTID: ${{ secrets.CM_TA_EMAIL }}
IMSORGID: ${{ secrets.CM_ORG_ID }}
KEY: ${{ secrets.CM_PRIVATE_KEY }}
PIPELINEID: ${{ secrets.CM_PIPELINE_ID }}
PROGRAMID: ${{ secrets.CM_PROGRAM_ID }}
CLIENTID- Client ID for the project in the I/O Developer ConsoleCLIENTSECRET- Client Secret for the project in the I/O Developer ConsoleTECHNICALACCOUNTID- Technical Account ID for the project in the I/O Developer ConsoleTECHNICALACCOUNTEMAIL- Technical Account Email for the project in the I/O Developer Console (previously calledTECHNICALACCOUNTIDfor JWT configuration)IMSORGID- IMS Organization ID for the project in the I/O Developer ConsolePROGRAMID- Cloud Manager Program IDPIPELINEID- Cloud Manager Pipeline IDOAUTHENABLED- set to'true'(string) to identify OAuth integration
- name: Create Execution
uses: adobe/aio-cloudmanager-create-execution-action@v1.2.0
with:
CLIENTID: ${{ secrets.CM_CLIENT_ID }}
CLIENTSECRET: ${{ secrets.CM_CLIENT_SECRET }}
TECHNICALACCOUNTID: ${{ secrets.CM_TA_ID }}
TECHNICALACCOUNTEMAIL: ${{ secrets.CM_TA_EMAIL }}
IMSORGID: ${{ secrets.CM_ORG_ID }}
PIPELINEID: ${{ secrets.CM_PIPELINE_ID }}
PROGRAMID: ${{ secrets.CM_PROGRAM_ID }}
OAUTHENABLED: 'true'
- Add a step which uses
adobe/aio-apps-actionproviding these required inputs:
command- set toauthCLIENTID- Client ID for the project in the I/O Developer ConsoleCLIENTSECRET- Client Secret for the project in the I/O Developer ConsoleTECHNICALACCOUNTID- Technical Account ID for the project in the I/O Developer ConsoleTECHNICALACCOUNTEMAIL- Technical Account Email for the project in the I/O Developer Console (Only for OAuth integration; previously calledTECHNICALACCOUNTIDfor JWT configuration)IMSORGID- IMS Organization ID for the project in the I/O Developer ConsoleSCOPES- set toent_cloudmgr_sdkat minimum for JWT andopenid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_amsfor OAuthKEY- Private key for the project in the I/O Developer Console (Only for JWT integration)OAUTHENABLED- set to true for OAuth-type integrations (required for OAuth integration; optional for JWT integration)
For example:
- name: Auth
uses: adobe/aio-apps-action@2.0.1
with:
command: auth
CLIENTID: ${{ secrets.CM_CLIENT_ID }}
CLIENTSECRET: ${{ secrets.CM_CLIENT_SECRET }}
TECHNICALACCOUNTID: ${{ secrets.CM_TA_EMAIL }}
IMSORGID: ${{ secrets.CM_ORG_ID }}
SCOPES: 'ent_cloudmgr_sdk'
KEY: ${{ secrets.CM_PRIVATE_KEY }}
- Add a step which uses this action providing these required inputs:
PROGRAMID- Cloud Manager Program IDPIPELINEID- Cloud Manager Pipeline IDIMSORGID- IMS Organization ID for the project in the I/O Developer Console
For example:
- name: Create Execution
uses: adobe/aio-cloudmanager-create-execution-action@v1.2.0
with:
PIPELINEID: ${{ secrets.CM_PIPELINE_ID }}
PROGRAMID: ${{ secrets.CM_PROGRAM_ID }}
IMSORGID: ${{ secrets.CM_ORG_ID }}
This action creates two outputs which can be referenced in later steps:
executionId- the ID of the created executionexecutionHref- the URL of the created execution
Contributions are welcome! Read the Contributing Guide for more information.
This project is licensed under the Apache V2 License. See LICENSE for more information.