Documentation ¶
Index ¶
- func BuildOSLString(OSLConfig ObjectSet) (objectSetString string)
- func CheckAddonDescriptorForRepositories(addonDescriptor AddonDescriptor) error
- func ConvertTime(logTimeStamp string) time.Time
- func GetHTTPResponse(requestType string, connectionDetails ConnectionDetailsHTTP, body []byte, ...) (*http.Response, error)
- func HandleHTTPError(resp *http.Response, err error, message string, ...) error
- func PollEntity(repositoryName string, connectionDetails ConnectionDetailsHTTP, ...) (string, error)
- func PrintLegacyLogs(repositoryName string, connectionDetails ConnectionDetailsHTTP, ...)
- func PrintLogs(repositoryName string, connectionDetails ConnectionDetailsHTTP, ...)
- func ReadConfigFile(path string) (file []byte, err error)
- type AUtilsMock
- type AbapBinding
- type AbapConnection
- type AbapEnvironmentCheckoutBranchOptions
- type AbapEnvironmentOptions
- type AbapEnvironmentPullGitRepoOptions
- type AbapEnvironmentRunATCCheckOptions
- type AbapError
- type AbapErrorMessage
- type AbapLogs
- type AbapLogsV2
- type AbapMetadata
- type AbapServiceKey
- type AbapUtils
- type AddonDescriptor
- func (me *AddonDescriptor) AsJSON() []byte
- func (me *AddonDescriptor) AsJSONstring() string
- func (me *AddonDescriptor) GetRepositoriesInBuildScope() []Repository
- func (me *AddonDescriptor) InitFromJSONstring(JSONstring string) error
- func (me *AddonDescriptor) SetRepositories(Repositories []Repository)
- type ApplicationComponent
- type BranchEntity
- type ClientMock
- func (c *ClientMock) DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error
- func (c *ClientMock) SendRequest(method, url string, bdy io.Reader, hdr http.Header, cookies []*http.Cookie) (*http.Response, error)
- func (c *ClientMock) SetOptions(opts piperhttp.ClientOptions)
- type CloneEntity
- type Communication
- type ComponentSet
- type ConnectionDetailsHTTP
- type EntitySetsForManageGitRepository
- type FlatObjectSet
- type Language
- type LogProtocol
- type LogProtocolResults
- type LogResults
- type LogResultsV2
- type MultiPropertySet
- type ObjectSet
- type ObjectType
- type ObjectTypeGroup
- type ObjectTypeSet
- type Owner
- type Package
- type PackageSet
- type PackageTree
- type PullEntity
- type ReadAddonDescriptorType
- type ReleaseState
- type RepositoriesConfig
- type Repository
- func (me *Repository) GetAakAasLanguageVector() string
- func (repo *Repository) GetCloneLogString() (logString string)
- func (repo *Repository) GetCloneRequestBody() (body string)
- func (repo *Repository) GetLogStringForCommitOrTag() (logString string)
- func (repo *Repository) GetPullLogString() (logString string)
- func (repo *Repository) GetPullRequestBody() (body string)
- func (repo *Repository) GetRequestBodyForCommitOrTag() (requestBodyString string)
- type Set
- type SoftwareComponents
- type SourceSystem
- type TransportLayer
- type TransportSet
- type Version
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildOSLString ¶
func CheckAddonDescriptorForRepositories ¶
func CheckAddonDescriptorForRepositories(addonDescriptor AddonDescriptor) error
CheckAddonDescriptorForRepositories checks AddonDescriptor struct if it contains any repositories. If not it will return an error
func ConvertTime ¶
ConvertTime formats an ABAP timestamp string from format /Date(1585576807000+0000)/ into a UNIX timestamp and returns it
func GetHTTPResponse ¶
func GetHTTPResponse(requestType string, connectionDetails ConnectionDetailsHTTP, body []byte, client piperhttp.Sender) (*http.Response, error)
GetHTTPResponse wraps the SendRequest function of piperhttp
func HandleHTTPError ¶
func HandleHTTPError(resp *http.Response, err error, message string, connectionDetails ConnectionDetailsHTTP) error
HandleHTTPError handles ABAP error messages which can occur when using OData services
The point of this function is to enrich the error received from a HTTP Request (which is passed as a parameter to this function). Further error details may be present in the response body of the HTTP response. If the response body is parseable, the included details are wrapped around the original error from the HTTP repsponse. If this is not possible, the original error is returned.
func PollEntity ¶
func PollEntity(repositoryName string, connectionDetails ConnectionDetailsHTTP, client piperhttp.Sender, pollIntervall time.Duration) (string, error)
PollEntity periodically polls the pull/import entity to get the status. Check if the import is still running
func PrintLegacyLogs ¶
func PrintLegacyLogs(repositoryName string, connectionDetails ConnectionDetailsHTTP, client piperhttp.Sender, errorOnSystem bool)
PrintLegacyLogs sorts and formats the received transport and execution log of an import; Deprecated with SAP BTP, ABAP Environment release 2205
func PrintLogs ¶
func PrintLogs(repositoryName string, connectionDetails ConnectionDetailsHTTP, client piperhttp.Sender)
func ReadConfigFile ¶
ReadCOnfigFile reads a file from a specific path and returns the json string as []byte
Types ¶
type AUtilsMock ¶
type AUtilsMock struct { ReturnedConnectionDetailsHTTP ConnectionDetailsHTTP ReturnedError error }
AUtilsMock mock
func (*AUtilsMock) GetAbapCommunicationArrangementInfo ¶
func (autils *AUtilsMock) GetAbapCommunicationArrangementInfo(options AbapEnvironmentOptions, oDataURL string) (ConnectionDetailsHTTP, error)
GetAbapCommunicationArrangementInfo mock
func (*AUtilsMock) GetPollIntervall ¶
func (autils *AUtilsMock) GetPollIntervall() time.Duration
GetPollIntervall mock
type AbapBinding ¶
type AbapBinding struct { ID string `json:"id"` Type string `json:"type"` Version string `json:"version"` Env string `json:"env"` }
AbapBinding contains information about service binding in Cloud Foundry
type AbapConnection ¶
type AbapConnection struct { Username string `json:"username"` Password string `json:"password"` CommunicationScenarioID string `json:"communication_scenario_id"` CommunicationArrangementID string `json:"communication_arrangement_id"` CommunicationSystemID string `json:"communication_system_id"` CommunicationInboundUserID string `json:"communication_inbound_user_id"` CommunicationInboundUserAuthMode string `json:"communication_inbound_user_auth_mode"` }
AbapConnection contains information about the ABAP connection for the ABAP endpoint
type AbapEnvironmentCheckoutBranchOptions ¶
type AbapEnvironmentCheckoutBranchOptions struct { AbapEnvOptions AbapEnvironmentOptions RepositoryName string `json:"repositoryName,omitempty"` }
AbapEnvironmentCheckoutBranchOptions struct for the CheckoutBranch piper step
type AbapEnvironmentOptions ¶
type AbapEnvironmentOptions struct { Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` Host string `json:"host,omitempty"` CfAPIEndpoint string `json:"cfApiEndpoint,omitempty"` CfOrg string `json:"cfOrg,omitempty"` CfSpace string `json:"cfSpace,omitempty"` CfServiceInstance string `json:"cfServiceInstance,omitempty"` CfServiceKeyName string `json:"cfServiceKeyName,omitempty"` }
AbapEnvironmentOptions contains cloud foundry fields and the host parameter for connections to ABAP Environment instances
type AbapEnvironmentPullGitRepoOptions ¶
type AbapEnvironmentPullGitRepoOptions struct { AbapEnvOptions AbapEnvironmentOptions RepositoryNames []string `json:"repositoryNames,omitempty"` }
AbapEnvironmentPullGitRepoOptions struct for the PullGitRepo piper step
type AbapEnvironmentRunATCCheckOptions ¶
type AbapEnvironmentRunATCCheckOptions struct { AbapEnvOptions AbapEnvironmentOptions AtcConfig string `json:"atcConfig,omitempty"` }
AbapEnvironmentRunATCCheckOptions struct for the RunATCCheck piper step
type AbapError ¶
type AbapError struct { Code string `json:"code"` Message AbapErrorMessage `json:"message"` }
AbapError contains the error code and the error message for ABAP errors
type AbapErrorMessage ¶
AbapErrorMessage contains the lanuage and value fields for ABAP errors
type AbapLogs ¶
type AbapLogs struct {
Results []LogResults `json:"results"`
}
AbapLogs struct for ABAP logs
type AbapLogsV2 ¶
type AbapLogsV2 struct {
Results []LogResultsV2 `json:"results"`
}
type AbapMetadata ¶
type AbapMetadata struct {
URI string `json:"uri"`
}
AbapMetadata contains the URI of metadata files
type AbapServiceKey ¶
type AbapServiceKey struct { SapCloudService string `json:"sap.cloud.service"` URL string `json:"url"` SystemID string `json:"systemid"` Abap AbapConnection `json:"abap"` Binding AbapBinding `json:"binding"` PreserveHostHeader bool `json:"preserve_host_header"` }
AbapServiceKey contains information about an ABAP service key
func ReadServiceKeyAbapEnvironment ¶
func ReadServiceKeyAbapEnvironment(options AbapEnvironmentOptions, c command.ExecRunner) (AbapServiceKey, error)
ReadServiceKeyAbapEnvironment from Cloud Foundry and returns it. Depending on user/developer requirements if he wants to perform further Cloud Foundry actions
type AbapUtils ¶
type AbapUtils struct { Exec command.ExecRunner Intervall time.Duration }
AbapUtils Struct
func (*AbapUtils) GetAbapCommunicationArrangementInfo ¶
func (abaputils *AbapUtils) GetAbapCommunicationArrangementInfo(options AbapEnvironmentOptions, oDataURL string) (ConnectionDetailsHTTP, error)
GetAbapCommunicationArrangementInfo function fetches the communcation arrangement information in SAP CP ABAP Environment
func (*AbapUtils) GetPollIntervall ¶
GetPollIntervall returns the specified intervall from AbapUtils or a default value of 10 seconds
type AddonDescriptor ¶
type AddonDescriptor struct { AddonProduct string `json:"addonProduct"` AddonVersionYAML string `json:"addonVersion"` AddonVersion string `json:"addonVersionAAK"` AddonSpsLevel string AddonPatchLevel string TargetVectorID string Repositories []Repository `json:"repositories"` }
AddonDescriptor contains fields about the addonProduct
func ConstructAddonDescriptorFromJSON ¶
func ConstructAddonDescriptorFromJSON(JSON []byte) (AddonDescriptor, error)
ConstructAddonDescriptorFromJSON : Create new AddonDescriptor filled with data from JSON
func ReadAddonDescriptor ¶
func ReadAddonDescriptor(FileName string) (AddonDescriptor, error)
ReadAddonDescriptor parses AddonDescriptor YAML file
func (*AddonDescriptor) AsJSONstring ¶
func (me *AddonDescriptor) AsJSONstring() string
AsJSONstring : dito
func (*AddonDescriptor) GetRepositoriesInBuildScope ¶
func (me *AddonDescriptor) GetRepositoriesInBuildScope() []Repository
func (*AddonDescriptor) InitFromJSONstring ¶
func (me *AddonDescriptor) InitFromJSONstring(JSONstring string) error
initFromJSON : Init from json string
func (*AddonDescriptor) SetRepositories ¶
func (me *AddonDescriptor) SetRepositories(Repositories []Repository)
SetRepositories : dito
type ApplicationComponent ¶
type ApplicationComponent struct {
Name string `json:"name,omitempty"`
}
ApplicationComponent
type BranchEntity ¶
type BranchEntity struct { Metadata AbapMetadata `json:"__metadata"` ScName string `json:"sc_name"` Namespace string `json:"namepsace"` BranchName string `json:"branch_name"` ParentBranch string `json:"derived_from"` CreatedBy string `json:"created_by"` CreatedOn string `json:"created_on"` IsActive bool `json:"is_active"` CommitID string `json:"commit_id"` CommitMessage string `json:"commit_message"` LastCommitBy string `json:"last_commit_by"` LastCommitOn string `json:"last_commit_on"` }
BranchEntity struct for the Branch entity A4C_A2G_GHA_SC_BRANCH
type ClientMock ¶
type ClientMock struct { Token string Body string BodyList []string StatusCode int Error error NilResponse bool }
ClientMock contains information about the client mock
func (*ClientMock) DownloadFile ¶
func (c *ClientMock) DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error
DownloadFile : Empty file download
func (*ClientMock) SendRequest ¶
func (c *ClientMock) SendRequest(method, url string, bdy io.Reader, hdr http.Header, cookies []*http.Cookie) (*http.Response, error)
SendRequest sets a HTTP response for a client mock
func (*ClientMock) SetOptions ¶
func (c *ClientMock) SetOptions(opts piperhttp.ClientOptions)
SetOptions sets clientOptions for a client mock
type CloneEntity ¶
type CloneEntity struct { Metadata AbapMetadata `json:"__metadata"` UUID string `json:"uuid"` ScName string `json:"sc_name"` BranchName string `json:"branch_name"` ImportType string `json:"import_type"` Namespace string `json:"namepsace"` Status string `json:"status"` StatusDescription string `json:"status_descr"` StartedByUser string `json:"user_name"` StartTime string `json:"start_time"` ChangeTime string `json:"change_time"` }
CloneEntity struct for the Clone entity A4C_A2G_GHA_SC_CLONE
type Communication ¶
type Communication interface { GetAbapCommunicationArrangementInfo(options AbapEnvironmentOptions, oDataURL string) (ConnectionDetailsHTTP, error) GetPollIntervall() time.Duration }
Communication for defining function used for communication
type ComponentSet ¶
type ComponentSet struct {
Name string `json:"name,omitempty"`
}
ComponentSet in form of software components to be checked
type ConnectionDetailsHTTP ¶
type ConnectionDetailsHTTP struct { Host string User string `json:"user"` Password string `json:"password"` URL string `json:"url"` XCsrfToken string `json:"xcsrftoken"` }
ConnectionDetailsHTTP contains fields for HTTP connections including the XCSRF token
type EntitySetsForManageGitRepository ¶
type EntitySetsForManageGitRepository struct {
EntitySets []string `json:"EntitySets"`
}
type FlatObjectSet ¶
type FlatObjectSet struct { Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` }
FlatObjectSet
type LogProtocol ¶
type LogProtocol struct { Metadata AbapMetadata `json:"__metadata"` OverviewIndex int `json:"log_index"` ProtocolLine int `json:"index_no"` Type string `json:"type"` Description string `json:"descr"` }
type LogProtocolResults ¶
type LogProtocolResults struct {
Results []LogProtocol `json:"results"`
}
type LogResults ¶
type LogResults struct { Index string `json:"index_no"` Type string `json:"type"` Description string `json:"descr"` Timestamp string `json:"timestamp"` }
LogResults struct for Execution and Transport Log entities A4C_A2G_GHA_SC_LOG_EXE and A4C_A2G_GHA_SC_LOG_TP
type LogResultsV2 ¶
type LogResultsV2 struct { Metadata AbapMetadata `json:"__metadata"` Index int `json:"log_index"` Name string `json:"log_name"` Status string `json:"type_of_found_issues"` Timestamp string `json:"timestamp"` ToLogProtocol LogProtocolResults `json:"to_Log_Protocol"` }
type MultiPropertySet ¶
type MultiPropertySet struct { Type string `json:"type,omitempty"` PackageNames []Package `json:"packages,omitempty"` PackageTrees []PackageTree `json:"packagetrees,omitempty"` ObjectTypeGroups []ObjectTypeGroup `json:"objecttypegroups,omitempty"` ObjectTypes []ObjectType `json:"objecttypes,omitempty"` Owners []Owner `json:"owners,omitempty"` ReleaseStates []ReleaseState `json:"releasestates,omitempty"` Versions []Version `json:"versions,omitempty"` ApplicationComponents []ApplicationComponent `json:"applicationcomponents,omitempty"` SoftwareComponents []SoftwareComponents `json:"softwarecomponents,omitempty"` TransportLayers []TransportLayer `json:"transportlayers,omitempty"` Languages []Language `json:"languages,omitempty"` SourceSystems []SourceSystem `json:"sourcesystems,omitempty"` }
MultiPropertySet that can possibly contain any subsets/object of the OSL
type ObjectSet ¶
type ObjectSet struct { PackageNames []Package `json:"packages,omitempty"` SoftwareComponents []SoftwareComponents `json:"softwarecomponents,omitempty"` PackageTrees []PackageTree `json:"packagetrees,omitempty"` Type string `json:"type,omitempty"` MultiPropertySet MultiPropertySet `json:"multipropertyset,omitempty"` Set []Set `json:"set,omitempty"` }
ObjectSet in form of packages and software components to be checked
type ObjectTypeGroup ¶
type ObjectTypeGroup struct {
Name string `json:"name,omitempty"`
}
ObjectTypeGroup
type ObjectTypeSet ¶
type ObjectTypeSet struct {
Name string `json:"name,omitempty"`
}
ObjectTypeSet
type PackageSet ¶
type PackageSet struct { Name string `json:"name,omitempty"` IncludeSubpackages *bool `json:"includesubpackages,omitempty"` }
PackageSet in form of packages to be checked
type PackageTree ¶
type PackageTree struct {
Name string `json:"name,omitempty"`
}
Packagetree for MPS
type PullEntity ¶
type PullEntity struct { Metadata AbapMetadata `json:"__metadata"` UUID string `json:"uuid"` Namespace string `json:"namepsace"` ScName string `json:"sc_name"` ImportType string `json:"import_type"` BranchName string `json:"branch_name"` StartedByUser string `json:"user_name"` Status string `json:"status"` StatusDescription string `json:"status_descr"` CommitID string `json:"commit_id"` StartTime string `json:"start_time"` ChangeTime string `json:"change_time"` ToExecutionLog AbapLogs `json:"to_Execution_log"` ToTransportLog AbapLogs `json:"to_Transport_log"` ToLogOverview AbapLogsV2 `json:"to_Log_Overview"` }
PullEntity struct for the Pull/Import entity A4C_A2G_GHA_SC_IMP
func GetStatus ¶
func GetStatus(failureMessage string, connectionDetails ConnectionDetailsHTTP, client piperhttp.Sender) (body PullEntity, status string, err error)
type ReadAddonDescriptorType ¶
type ReadAddonDescriptorType func(FileName string) (AddonDescriptor, error)
ReadAddonDescriptorType is the type for ReadAddonDescriptor for mocking
type RepositoriesConfig ¶
type RepositoriesConfig struct { BranchName string RepositoryName string RepositoryNames []string Repositories string }
RepositoriesConfig struct for parsing one or multiple branches and repositories configurations
type Repository ¶
type Repository struct { Name string `json:"name"` UseClassicCTS bool `json:"useClassicCTS"` Tag string `json:"tag"` Branch string `json:"branch"` CommitID string `json:"commitID"` VersionYAML string `json:"version"` Version string `json:"versionAAK"` AdditionalPiecelist string `json:"additionalPiecelist"` PackageName string PackageType string SpLevel string PatchLevel string PredecessorCommitID string Status string Namespace string SarXMLFilePath string Languages []string `json:"languages"` InBuildScope bool }
Repository contains fields for the repository/component version
func GetRepositories ¶
func GetRepositories(config *RepositoriesConfig) ([]Repository, error)
GetRepositories for parsing one or multiple branches and repositories from repositories file or branchName and repositoryName configuration
func (*Repository) GetAakAasLanguageVector ¶
func (me *Repository) GetAakAasLanguageVector() string
GetAakAasLanguageVector : dito
func (*Repository) GetCloneLogString ¶
func (repo *Repository) GetCloneLogString() (logString string)
func (*Repository) GetCloneRequestBody ¶
func (repo *Repository) GetCloneRequestBody() (body string)
func (*Repository) GetLogStringForCommitOrTag ¶
func (repo *Repository) GetLogStringForCommitOrTag() (logString string)
func (*Repository) GetPullLogString ¶
func (repo *Repository) GetPullLogString() (logString string)
func (*Repository) GetPullRequestBody ¶
func (repo *Repository) GetPullRequestBody() (body string)
func (*Repository) GetRequestBodyForCommitOrTag ¶
func (repo *Repository) GetRequestBodyForCommitOrTag() (requestBodyString string)
type Set ¶
type Set struct { Type string `json:"type,omitempty"` Set []Set `json:"set,omitempty"` PackageSet []PackageSet `json:"package,omitempty"` FlatObjectSet []FlatObjectSet `json:"object,omitempty"` ComponentSet []ComponentSet `json:"component,omitempty"` TransportSet []TransportSet `json:"transport,omitempty"` ObjectTypeSet []ObjectTypeSet `json:"objecttype,omitempty"` }
Set
type SoftwareComponents ¶
type SoftwareComponents struct {
Name string `json:"name,omitempty"`
}
SoftwareComponents
type TransportLayer ¶
type TransportLayer struct {
Name string `json:"name,omitempty"`
}
TransportLayer
type TransportSet ¶
type TransportSet struct {
Number string `json:"number,omitempty"`
}
TransportSet in form of transports to be checked