Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /*
* Copyright 2021 Harness Inc. All rights reserved.
* Use of this source code is governed by the PolyForm Shield 1.0.0 license
* that can be found in the licenses directory at the root of this repository, also available at
* https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt.
*/
import React, { useState, useEffect } from 'react'
import { useParams } from 'react-router-dom'
import type { ExecutionPathProps, PipelineType } from '@common/interfaces/RouteInterfaces'
import { useGetInputsetYamlV2 } from 'services/pipeline-ng'
import { PageSpinner } from '@common/components'
import { RunPipelineForm } from '@pipeline/components/RunPipelineModal/RunPipelineForm'
import type { ResponseJsonNode } from 'services/cd-ng'
import { useExecutionContext } from '@pipeline/context/ExecutionContext'
import css from './ExecutionInputsView.module.scss'
interface ExecutionInputsViewInterface {
mockData?: ResponseJsonNode
}
export default function ExecutionInputsView(props: ExecutionInputsViewInterface): React.ReactElement {
const { projectIdentifier, orgIdentifier, pipelineIdentifier, accountId, module, executionIdentifier } =
useParams<PipelineType<ExecutionPathProps>>()
const { pipelineExecutionDetail } = useExecutionContext()
const { data, loading } = useGetInputsetYamlV2({
planExecutionId: executionIdentifier,
queryParams: {
orgIdentifier,
resolveExpressions: true,
projectIdentifier,
accountIdentifier: accountId
},
requestOptions: {
headers: {
'content-type': 'application/yaml'
}
}
})
const [inputSetYaml, setInputSetYaml] = useState('')
const [inputSetTemplateYaml, setInputSetTemplateYaml] = useState('')
useEffect(() => {
// Won't actually render out RunPipelineForm
/* istanbul ignore else */ Iif (data?.data?.inputSetYaml) {
setInputSetYaml(data.data?.inputSetYaml)
}
/* istanbul ignore else */ Iif (data?.data?.inputSetTemplateYaml) {
setInputSetTemplateYaml(data.data.inputSetTemplateYaml)
}
}, [data])
Iif (loading) {
return <PageSpinner />
}
return (
<div className={css.main}>
<RunPipelineForm
pipelineIdentifier={pipelineIdentifier}
orgIdentifier={orgIdentifier}
projectIdentifier={projectIdentifier}
accountId={accountId}
module={module}
inputSetYAML={inputSetYaml || ''}
executionView
branch={pipelineExecutionDetail?.pipelineExecutionSummary?.gitDetails?.branch}
repoIdentifier={pipelineExecutionDetail?.pipelineExecutionSummary?.gitDetails?.repoIdentifier}
mockData={props.mockData}
executionInputSetTemplateYaml={inputSetTemplateYaml}
/>
</div>
)
}
|