func (pp *PipelineProvider) PipelineRunGet(c echo.Context) error {
	storeService, _ := services.StorageService()
	pipelineID, err := strconv.Atoi(c.Param("pipelineid"))
	if err != nil {
		return c.String(http.StatusBadRequest, errInvalidPipelineID.Error())
	}
	runID, err := strconv.Atoi(c.Param("runid"))
	if err != nil {
		return c.String(http.StatusBadRequest, errPipelineRunNotFound.Error())
	}
	pipelineRun, err := storeService.PipelineGetRunByPipelineIDAndID(pipelineID, runID)
	if err != nil {
		return c.String(http.StatusInternalServerError, err.Error())
	} else if pipelineRun == nil {
		return c.String(http.StatusNotFound, errPipelineRunNotFound.Error())
	}
	return c.JSON(http.StatusOK, pipelineRun)
}
PipelineRunGet returns details about a specific pipeline run.
Required parameters are pipelineid and runid.
@Summary Get Pipeline run.
@Description Returns details about a specific pipeline run.
@Tags pipelinerun
@Accept plain
@Produce json
@Security ApiKeyAuth
@Param pipelineid query string true "ID of the pipeline"
@Param runid query string true "ID of the pipeline run"
@Success 200 {object} gaia.PipelineRun
@Failure 400 {string} string "Invalid pipeline or pipeline not found."
@Failure 404 {string} string "Pipeline Run not found."
@Failure 500 {string} string "Something went wrong while getting pipeline run."
@Router /pipelinerun/{pipelineid}/{runid} [get]
package pipelines
import (
	"errors"
	"io/ioutil"
	"net/http"
	"os"
	"path/filepath"
	"strconv"
	"github.com/labstack/echo/v4"
	"github.com/gaia-pipeline/gaia"
	"github.com/gaia-pipeline/gaia/services"
	"github.com/gaia-pipeline/gaia/workers/pipeline"
)
var (
	errPipelineRunNotFound = errors.New("pipeline run not found with the given id")
)
type jobLogs struct {
	Log      string `json:"log"`
	Finished bool   `json:"finished"`
}