Morpheus Task/Workflow API Responses From External CI/CD

Are there any integrations that can be made back to Morpheus via API when an external CI/CD pipeline (GitLab) is triggered via Morpheus? We are using python to trigger a GitLab pipeline, and after that python script is run (task/workflow), Morpheus reports against the task/workflow successfully completing. The external pipeline that is triggered may run for a while, and even fail, so we were interested in possibility of enhancing our external pipelines to report status (run, stage/job completion, etc) back to Morpheus via API. We have to rely on external contexts/visibility into that CI/CD pipeline to know whether it was successful, and we really just want it to be part of the Morpheus workflow.

Does Morpheus support an approach like that? Can you link us to any pertinent documentation?

1 Like

Usually the python script would be updated to continually poll the downstream API endpoint for status. The script would initially trigger the start of the pipeline and then every 30 seconds check for the status to ultimately determine when the task would exit.

Ok, but based on us updating our python script, does Morpheus have any functions that can be called once I receive a status update from my script/external pipeline? Once a catalog item is triggered, there is absolutely no output to the user and we want to be able to give them a status.

With the script updated the status of the instance would stay in a provisioning or deploying state until the downstream API call finishes. That being said there is no native callback method that would enable an asynchronous execution model in which the script triggers the pipeline and then the pipeline updates the status on the instance. It would technically be possible to update some of the instance’s metadata via the pipeline by sending API call to Morpheus to update the instance’s tag, label or even trigger a placeholder task that would visible in the instance’s history.

Hi,

I’m interesting with that feature because we are using CICD to provision, rolling upgrade, making end2end tests, destroying. We are using mostly Tekton (thanks tekton hub we find many out-of-the-box features)
That’s why this request suits our needs as Service Provider.

Kind regards,