Skip to content

abapPM/tools.abappm.com

Repository files navigation

Version

License Contributor Covenant REUSE Status

apm Services

A collection of web services for apm and other ABAP packages.

The services are implemented as serverless functions and intended for easy consumption in ABAP.

DigitalOcean Referral Badge

Note: This is a free service with limited performance and scalability.

Services

ABAP Package Version Badge

This is a service for the shields.io endpoint compatible JSON.

Support Ukraine

The service was created by Alexander Tsybulsky from Ukraine. Please support Ukraine!

You can find the original code on GitHub and the original documentation on here.

ABAP Code

The service parses ABAP code in your repository to find the value of a version constant.

Here's a typical example:

INTERFACE zif_project_version PUBLIC.
  CONSTANTS version TYPE string VALUE '3.2.1'.
ENDINTERFACE.

TL;DR

abapgit version badge

Markdown for creating this ABAP Package Version Badge:

![Version](https://img.shields.io/endpoint?url=https://shield.abappm.com/github/owner/repo/src/zif_project_version.intf.abap)

API Request

https://shield.abappm.com/$TYPE/$OWNER/$REPO/[-$BRANCH/]$PATH[/$CONSTANT_NAME]

$TYPE          = 'github', 'gitlab', or 'bitbucket' (open an issue if you need more)
$OWNER         = Your organization or user name
$REPO          = Your repository name
$BRANCH        = Branch name prefixed with '-' (optional, 'master' by default)
$PATH          = Path to ABAP file with version constant
$CONSTANT_NAME = Name of the constant that contains the version (optional, 'version' by default)

All #-symbols in the URL have to be encoded with %23.

Examples:

https://shield.abappm.com/github/abapGit/abapGit/src/zif_abapgit_version.intf.abap/c_abap_version
https://shield.abappm.com/gitlab/fernandofurtado/abap-markdown/src/zmarkdown.clas.abap
https://shield.abappm.com/bitbucket/marcfbe/abapgit/-main/src/zif_test.intf.abap/c_version
https://shield.abappm.com/github/Marc-Bernard-Tools/MBT-Listcube/src/%23mbtools%23cl_tool_bw_listcube.clas.abap

If your repository supports APACK i.e. you have an .apack-manifest.xml file in your repository, you can also use the following format:

Examples:

https://shield.abappm.com/github/ABAP-Logger/ABAP-Logger/.apack-manifest.xml
or
https://shield.abappm.com/github/ABAP-Logger/demos/.apack-manifest.xml/dependencies/github.com/ABAP-Logger/ABAP-Logger

API Response

Example:

{
  "schemaVersion": 1,
  "label": "abap package version",
  "message": "1.131.0",
  "color": "orange"
}

Badge Image

To get the badge image, pass the URL from above to the img.shields.io endpoint. You can also customize the badge label and color (see shields.io for more options):

https://img.shields.io/endpoint?url=https://shield.abappm.com/...
or
https://img.shields.io/endpoint?url=https://shield.abappm.com/...&label=version&color=blue

Example:

abapgit version badge

https://img.shields.io/endpoint?url=https://shield.abappm.com/github/abapGit/abapGit/src/zif_abapgit_version.intf.abap/c_abap_version&label=version&color=blue
or as markdown 
![Version](https://img.shields.io/endpoint?url=https://shield.abappm.com/github/abapGit/abapGit/src/zif_abapgit_version.intf.abap/c_abap_version&label=version&color=blue)

Important

If you are refering to a namespaced object, all #-symbols in the URL have to be encoded with %2523. Example: https://img.shields.io/endpoint?url=https://shield.abappm.com/github/Marc-Bernard-Tools/MBT-Listcube/src/%2523mbtools%2523cl_tool_bw_listcube.clas.abap

Web Interface

You can test the services via an HTML interface at https://tools.abappm.com.

Certificate Fetcher

Easy way to retrieve the SSL certificates required to connect to a domain via SSL.

API Request

Pass the domain name as a parameter to the following URL:

curl -X GET https://tools.abappm.com/api/v1/certificates?domain=example.com

API Response

The result of the call includes the certificate of the domain server as well as the root and any intermediate certificates.

Example (abbreviated certificate data):

{
  "domain": "github.com",
  "peerCertificate": {
    "issuer": {
      "C": "GB",
      "ST": "Greater Manchester",
      "L": "Salford",
      "O": "Sectigo Limited",
      "CN": "Sectigo ECC Domain Validation Secure Server CA"
    },
    "validFrom": "2024-03-07T00:00:00.000Z",
    "validTo": "2025-03-07T23:59:59.000Z",
    "subject": { "CN": "github.com" },
    "cert": "MIIEozCC...siesA"
  },
  "intermediateCertificates": [
    {
      "issuer": {
        "C": "US",
        "ST": "New Jersey",
        "L": "Jersey City",
        "O": "The USERTRUST Network",
        "CN": "USERTrust ECC Certification Authority"
      },
      "validFrom": "2018-11-02T00:00:00.000Z",
      "validTo": "2030-12-31T23:59:59.000Z",
      "subject": {
        "C": "GB",
        "ST": "Greater Manchester",
        "L": "Salford",
        "O": "Sectigo Limited",
        "CN": "Sectigo ECC Domain Validation Secure Server CA"
      },
      "cert": "MIIDqDCCA...QcKmc8fmA=="
    },
    {
      "issuer": {
        "C": "GB",
        "ST": "Greater Manchester",
        "L": "Salford",
        "O": "Comodo CA Limited",
        "CN": "AAA Certificate Services"
      },
      "validFrom": "2019-03-12T00:00:00.000Z",
      "validTo": "2028-12-31T23:59:59.000Z",
      "subject": {
        "C": "US",
        "ST": "New Jersey",
        "L": "Jersey City",
        "O": "The USERTRUST Network",
        "CN": "USERTrust ECC Certification Authority"
      },
      "cert": "MIID0zCCA...oEeJBuv/c="
    },
    {
      "issuer": {
        "C": "GB",
        "ST": "Greater Manchester",
        "L": "Salford",
        "O": "Comodo CA Limited",
        "CN": "AAA Certificate Services"
      },
      "validFrom": "2004-01-01T00:00:00.000Z",
      "validTo": "2028-12-31T23:59:59.000Z",
      "subject": {
        "C": "GB",
        "ST": "Greater Manchester",
        "L": "Salford",
        "O": "Comodo CA Limited",
        "CN": "AAA Certificate Services"
      },
      "cert": "MIIEMjCCAxqgAw...pNpaYbg=="
    }
  ]
}

Web Interface

You can test the services via an HTML interface at https://tools.abappm.com.

Contributions

All contributions are welcome! Read our Contribution Guidelines, fork this repo, and create a pull request.

Attribution

This project uses the following open source projects. Please support these great projects!

About

Made with ❤️ in Canada

Copyright 2024 apm.to Inc. https://apm.to

Follow @marcf.be on Bluesky and @marcfbe on LinkedIn