Skip to main content

Helper methods to allow easier interfacing to the V1 Api of Sonatype Lift

Project description

sonatype-lift-lib

Sonatype Lift Lib contains helper methods to easily get up and running with Sonatype Lift V1 Api for introducing customised tools

Example usage

#!/usr/bin/env python3
from sonatypeliftlib.apiv1 import ApiV1, ToolNote
import sonatypeliftlib.helpers as lift
import sys

def js_present_in_diffs():
    '''
    This is a helper method that will use a utility method to check if any of the files that
    have changed in the PR end with a '.js'. If no js files have changed then we dont need to run
    '''
    files = lift.get_diff_files()
    if files is not None:
        for file in files:
            if file.endswith(".js"):
                return True
    return False

class ApiV1Test(ApiV1):

    def tool_applicable(self):
        if js_present_in_diffs() is True:
            return ApiV1.is_applicable()
        return ApiV1.is_not_applicable()

    def tool_run(self):
        tool_notes = []

        tn1 = ToolNote("Foo", "Foo Message", "Foo.txt", None, None)
        tool_notes.append(tn1)

        tn2 = ToolNote("Bar", "Bar Message", "Bar.yml", 2, None)
        tool_notes.append(tn2)
        return tool_notes

def main():
    tool = ApiV1Test("Test", sys.argv)
    tool.service()

if __name__ == "__main__":
    main()

ApiV1 expects to receive 3 parameters, which are project_path, commit hash command where command can be applicable, name, run. The response from a run should be an array of ToolNote's.

Running the example above, for example python3 apiv1_example.py . 1234 run will yield the following output:

[
    {
        "name": "Foo", 
        "message": "Foo Message",
        "line": 0
    },
    {
        "name": "Bar", 
        "message": "Bar Message",
        "line": 1
    }
]

For further details on the Api see Lift Docs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sonatypeliftlib-0.0.4-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file sonatypeliftlib-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: sonatypeliftlib-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for sonatypeliftlib-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f98753ab000bbb3c6756ca670ecbbb392ff2c18d10d27089479e6e0f4207c23d
MD5 eedc436ef8afdb14b7ee0aed30003bf8
BLAKE2b-256 267988302b5ce8b0c234874179b274512737de840ceefde0d2e286db23831ebc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page