Skip to content

Create Fusion App

Create Fusion App #16

name: Create Fusion App
on:
workflow_dispatch:
inputs:
appKey:
type: string
description: Fusion app key (This cant be changed!)
displayName:
type: string
description: Display name for fusion app
category:
type: choice
description: Fusion app category
options:
- Construction and Commissioning
- Corporate Project Review
- Portfolio Management
- Project control
- Organisation
- Project management
- Experience
- Marketing, Midstream and Processing
- Offshore Wind (OW)
- Fusion utilities
- Fusion administration
- Safety, Security and Sustainability
- Collaboration
- Project Development Centre (PDC)
- Quality and risk
- Engineering
- MMP Liquids
permissions: write-all
jobs:
create-fusion-app-ci:
runs-on: ubuntu-latest
environment: ci
steps:
- name: 'Login to Azure'
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
allow-no-subscriptions: true
- name: 'Obtain fusion token'
shell: bash
run: echo "FUSION_TOKEN=$(az account get-access-token --resource '${{ secrets.AZURE_RESOURCE_ID }}' | jq '.accessToken')" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # Required to fetch range
- name: Install Dependencies
run: npm i -g pnpm typescript && pnpm i
- name: 'Create application in Fusion CI'
shell: bash
run: npx ts-node --esm ./github-action/src/createFusionApp.ts create -T ${{ env.FUSION_TOKEN }} -A '${{inputs.appKey}}' -C '${{inputs.category}}' -D '${{inputs.displayName}}' -O '${{vars.FUSION_APP_ADMINS_CI}}' -E 'CI'
create-fusion-app-fprd:
runs-on: ubuntu-latest
environment: fprd
steps:
- name: 'Login to Azure'
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_PROD_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
allow-no-subscriptions: true
- name: 'Obtain fusion token'
shell: bash
run: echo "FUSION_PROD_TOKEN=$(az account get-access-token --resource '${{ secrets.AZURE_RESOURCE_PROD_ID }}' | jq '.accessToken')" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # Required to fetch range
- name: Install Dependencies
run: npm i -g pnpm typescript && pnpm i
- name: 'Create application in Fusion FPRD'
shell: bash
run: npx ts-node --esm ./github-action/src/createFusionApp.ts create -T ${{ env.FUSION_PROD_TOKEN }} -A '${{inputs.appKey}}' -C '${{inputs.category}}' -D '${{inputs.displayName}}' -O '${{vars.FUSION_APP_ADMINS_FPRD}}' -E 'FPRD'