1 Star 2 Fork 0

SCANOSS / webhook

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

SCANOSS Webhook logo

SCANOSS Webhook

The SCANOSS webhook is a multiplatform webhook that performs source code scans against the SCANOSS API. Supports integration with GitHub, GitLab and BitBucket APIs.

SCANOSS provides a source code scanner that can be used to detect Open Source dependencies in your code.

The purpose of this code is to offer a reference implementation that can be expanded to suit the needs of individuals and organisations.

Installation

Once you have built the python wheel (Check out the Building instructions), you can install SCANOSS webhook using pip: pip install -U dist/*.whl

Configuration

Integration with Git repositories

The specific instructions to install SCANOSS webhook depend on the particular vendor. SCANOSS webhook requires to be configured to receive pull requests, and be allowed to post commit comments and set the build status.

To test the webhook, once configured, you can perform a commit. If all permissions are right and everything goes smoothly, you should see that the webhook has created a comment in your commit, containing a summary of the scan results.

Github

Create a Personal Access Token

Go to your user Settings > Developer Settings. Select Personal access Tokens, select Generate new token button.

Select the following scopes:

  • repo:status
  • repo_deployment
  • public_repo

Click on Generate token and save the token generated.

Configure the webhook

To configure the SCANOSS Webhook in a repository, go to the repository Settings > Webhooks. The click on Add a Webhook.

Fill in the Add webhook form:

  • Add the webhook URL as the Payload URL
  • Select Content Type application/json
  • Add a secret
  • The webhook needs to receive push events only.
  • Make sure that Active is checked.

Configuration example

github:
  api-base: https://api.github.com # Or your local GitHub Enterprise API endpoint
  api-user: your-api-user
  api-key: your-personal-access-token
  secret-token: your-secret-token
scanoss:
  url: https://api-url-for-scanoss.example.com
  token: my-scanoss-token

Bitbucket

Create an App password

On the webhook user's settings, you can create an App password, with repository write permissions.

Configure the webhook

  1. From Bitbucket, open the repository where you want to add the webhook.
  2. Click the Settings link on the left side.
  3. From the links on the Settings page, click the Webhooks link.
  4. Click the Add webhook button to create a webhook for the repository. The Add new webhook page appears. Fill in the name, and URL, and make sure that the webhook can receive pull requests.

You can check the extended instructions on the Bitbucket webhooks documentation

Configuration example

bitbucket:
  api-base: https://bitbucket.org/ # This can also be your local bitbucket deployment URL.
  api-key: your-bb-app-password
  api-user: your-bb-user-name
scanoss:
  url: https://api-url-for-scanoss.example.com
  token: my-scanoss-token

GitLab

Generate an Access Token

In GitLab, on the webhook user's settings, select Access Tokens. Fill in a name and expiry date, and select api scope. Then Create personal access token. Take note of the token generated.

Configure the webhook

In GitLab, go to the repository where you want to install the webhook. Then select settings, then Webhook. Fill in the form with the URL of the webhook, add a secret token, and check Push events.

Configuration example

gitlab:
  api-base: https://gitlab.com/api/v4 # This can also be your local GitLab API endpoint
  api-key: your-gitlab-access-token
  secret-token: your-secret-token
scanoss:
  url: https://api-url-for-scanoss.example.com
  token: my-scanoss-token

Contributing

Please see our Contributing Guide and our Code of Conduct.

Building

Python 3 is required. It uses setuptools to build a PIP wheel.

  • Install dependencies: make init && make init-dev

  • Generate a new wheel: make dist. The binaries will be located under dist.

Comments ( 0 )

Sign in for post a comment

About

SCANOSS Webhook是一個多平台Webhook,可對SCANOSS API執行源代碼掃描。 支持與Gitee,Github,GitLab和BitBucket API集成。 SCANOSS提供了一個源代碼掃描程序,可用於檢測代碼中的開放源代碼依賴項。 該代碼的目的是提供一個參考實現,可以對其進行擴展以適合個人和組織的需求。 spread retract
Python
BSD-3-Clause
Cancel

Releases

No release

webhook

Contributors

All

Activities

load more
can not load any more
Python
1
https://gitee.com/SCANOSS/webhook.git
git@gitee.com:SCANOSS/webhook.git
SCANOSS
webhook
webhook
master

Search