Skip to main content

API経由でプロジェクトをインポートする

著者
Headshot of Josh Emerson

Josh Emerson

Importing projects via the API small

2018年8月21日

0 分で読めます

このたび、新しいAPIエンドポイントをリリースしました。このエンドポイントを使うと、リポジトリ、プロジェクト、関数、アプリをインポートして、脆弱性を監視できます。

使い方はとても簡単です。インポート元のインテグレーション(例:GitHub)と、対象のリポジトリ、プロジェクト、関数、アプリ(例:特定のGitHubリポジトリ)を指定してリクエストを送信すれば、あとはSnykにお任せください。必要に応じて、package.jsonやGemfile.lockなど、脆弱性のスキャン対象ファイルを指定できます。指定しない場合は、検出可能なすべての依存関係ファイルをスキャンします(スキャンの深さはインテグレーションによって異なります)。

インポートの完了までに時間がかかる場合があるため、このAPI呼び出しは非同期で実行されます。201レスポンスが返され、インポートジョブのステータスを確認するエンドポイントを示すLocationヘッダーが含まれます。

Snykにプロジェクトをプログラムからインポートする方法について、多くのお客様からご要望をいただいていました。インポートAPIを使って、皆さんがSnykを既存のシステムにどのように統合するのか、とても楽しみにしています。インポートAPIをぜひお試しいただき、ご意見をお聞かせください。今後の改善に役立ててまいります。

リポジトリの作成を自動化しているお客様もいます。このAPIを活用することで、新しいリポジトリを作成すると同時に、セキュリティ上の脆弱性やライセンスポリシー違反がないか自動的に監視できます。

新しいリポジトリやサーバーレスアプリケーションの作成時に自動でインポートしたいというご要望をよくいただきます。すぐに始められるよう、ある時点以降に更新されたすべてのリポジトリをGitHub repos APIで一覧表示し、Snykにインポートする簡単なサンプルを含む小さなコードベースをご用意しました。

これはnpmモジュールとして利用できるため、コマンドを1つ実行するだけで、過去1日分の新規または更新されたリポジトリをインポートできます。

$ npm install -g snyk-github-import
$ snyk-github-import --orgId=c0caaa2f-6c04-4be3-876b-c72553a5551f --integrationId=ab4633ac-e6bb-4d27-854a-328c0f33c3e8  --githubToken=212312cq1bfb1bcfb13042ff5a13d01ab12f12f4

たとえば、Cronジョブを設定すれば、このスクリプトを使ってリポジトリを定期的に自動インポートできます。また、監視対象のすべてのコードベースを含む新しい組織を、プログラムから設定することもできます。詳しくはAPIドキュメントをご覧ください。Snyk APIは有料プランでのみご利用いただけます。

Capture the Flagを始めよう

オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。