GitLab スポーク

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:9分
  • ServiceNow インスタンスから、GitLab で DevOps ライフサイクルを管理します。ServiceNow でフローを作成して、GitLab でブランチ、グループ、問題、結合要求、プロジェクト、ソースコードを管理します。

    ストアでアプリを要求する

    ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。

    統合ハブサブスクリプション

    このスポークには Integration Hub のサブスクリプションが必要です。詳細については、「法務スケジュール - 統合ハブの概要」を参照てください。

    スポークバージョン

    GitLab スポーク v2.1.3 が最新バージョンです。

    互換バージョン

    このスポークは GitLab API バージョン v4 用にビルドされていますが、それ以降のバージョンと互換性がある可能性があります。

    スポークの要件

    • GitLab アカウント
    • ServiceNow とデータ連携するように構成された GitLab のアプリケーション
    • GitLab アプリケーションのアプリケーション IDシークレット
    アプリケーションを作成および構成する方法については、 https://docs.gitlab.com/ee/integration/oauth_provider.html ドキュメントを参照してください。

    スポークのアクション

    GitLab スポーク は、ServiceNow でイベントが発生したときに GitLab タスクを自動化するアクションを提供します。使用可能なアクションは次のとおりです。

    カテゴリ アクション 説明
    分岐管理 分岐、タグ、またはコミットを比較 分岐、タグ、またはコミットを比較します。
    分岐を作成 必要なプロジェクトに分岐を作成します。
    分岐を削除 プロジェクトから必要な分岐を削除します。
    結合された分岐を削除 プロジェクトから必要な結合分岐を削除します。
    分岐を検索 必要な分岐の詳細を取得します。
    分岐ストリームを検索 プロジェクト内の分岐のリストと分岐の詳細を取得します。
    分岐を保護 アクセスレベルを使用してプロジェクト内の分岐を保護します。
    分岐の保護を解除 アクセスレベルを使用したプロジェクト内の分岐の保護を解除します。
    グループ管理 グループにユーザーを追加 GitLab グループにユーザーを追加します。
    グループからユーザーを削除 GitLab グループからユーザーを削除します。
    イシュー管理 問題を作成 必要なプロジェクトに問題を作成します。
    問題メモを作成 必要な問題に関する問題メモを作成します。
    問題のメモを削除 必要な問題に関する問題メモを削除します。
    問題メモストリームを検索 問題のすべての問題メモを取得します。
    問題ストリームを検索 問題のリストと問題の詳細を取得します。
    問題を更新 必要な問題の詳細を更新します。
    問題メモを更新 プロジェクト内の問題メモを更新します。
    結合要求管理 結合要求を承認 GitLab で結合要求を承認します。
    結合要求を作成 GitLab で結合要求を作成します。
    結合要求メモを作成 必要な結合要求のメモを作成します。
    結合要求メモを削除 必要な結合要求のメモを削除します。
    すべての結合要求ストリームを検索 プロジェクト内の結合要求のリストを取得します。
    結合要求メモを検索 プロジェクト内の結合要求メモのリストを取得します。
    結合要求を更新 必要な結合要求の詳細を更新します。
    結合要求メモを更新 必要な結合要求メモの詳細を更新します。
    パッケージ管理 パッケージファイルを削除 プロジェクトパッケージレジストリからパッケージファイルを削除します。
    プロジェクトパッケージを削除 プロジェクトパッケージレジストリからパッケージを削除します。
    レジストリリポジトリを削除 プロジェクトからレジストリリポジトリを削除します。
    レジストリリポジトリタグを削除 プロジェクトからレジストリリポジトリタグを一括削除します。
    レジストリの詳細を検索 指定されたプロジェクトのレジストリリポジトリの詳細を取得します。
    パッケージのファイルストリームを検索 単一のパッケージのパッケージファイルのリストを取得します。
    グループストリーム内でパッケージを検索 プロジェクトパッケージのリストとパッケージの詳細をグループレベルで取得します。
    プロジェクトストリーム内でパッケージを検索 プロジェクトパッケージのリストとパッケージの詳細を取得します。
    プロジェクトパッケージを検索 指定されたプロジェクトの指定されたパッケージの詳細を取得します。
    レジストリリポジトリを検索 指定されたプロジェクトのレジストリリポジトリのリストを取得します。
    パイプライン管理 プロジェクトのパイプラインを ID で検索 指定されたプロジェクトの指定されたパイプラインの詳細を取得します。
    プロジェクトのパイプラインのジョブストリームを検索 プロジェクトのパイプライン内のジョブのリストを取得します。
    プロジェクトのパイプラインテストレポートを検索 指定されたプロジェクトの指定されたパイプラインのテストレポートを取得します。
    プロジェクトのパイプラインストリームを検索 プロジェクト内のパイプラインのリストを取得します。
    プロジェクトハッシュ管理 プロジェクトフックを作成 フックをプロジェクトに作成します。
    プロジェクトフックを削除 プロジェクトからフックを削除します。
    プロジェクトフックを検索 プロジェクト内の指定されたフックの詳細を取得します。
    プロジェクトフックを検索 プロジェクト内のすべてのフックの詳細を取得します。
    プロジェクトフックを更新 指定されたプロジェクトのフックの詳細を更新します。
    プロジェクト管理 (PM) プロジェクトにユーザーを追加 GitLab でプロジェクトにユーザーを追加します。
    プロジェクトをアーカイブ GitLab でプロジェクトをアーカイブします。
    マイルストーンを作成 GitLab プロジェクト内にマイルストーンを作成します。
    プロジェクト作成 GitLab でプロジェクトを作成します。
    マイルストーンを削除 GitLab プロジェクト内のマイルストーンを削除します。
    プロジェクトを削除 GitLab でプロジェクトを削除します。
    マイルストーンストリームを検索 マイルストーン GitLab の詳細を取得します。
    プロジェクトを検索 指定されたプロジェクトの詳細を取得します。
    プロジェクトのジョブストリームを検索 プロジェクトのジョブの詳細を取得します。
    プロジェクトストリームを検索 プロジェクトの詳細を取得します。
    プロジェクトからユーザーを削除 GitLab でプロジェクトからユーザーを削除します。
    プロジェクトをグループと共有 GitLab でグループとプロジェクトを共有します。
    プロジェクトをアーカイブ解除 GitLab でプロジェクトをアーカイブ解除します。
    グループとのプロジェクトの共有を解除 GitLab でグループとのプロジェクトの共有を解除します。
    マイルストーンを更新 プロジェクト内のマイルストーンの詳細を更新します。
    プロジェクトを更新 プロジェクトの詳細を更新します。
    ソースコード管理 コミットを取得 GitLab でコミットの詳細を取得します。
    リポジトリに新しいファイルを追加 GitLab でリポジトリにファイルを追加します。
    トークン管理 個人アクセストークンを検索 個人アクセストークンのリストを取得します。
    個人アクセストークンを取り消す 個人アクセストークンを取り消します。

    スポークのフロー

    GitLabスポークでは、GitLabタスクの自動化をデモするサンプルフローが提供されます。サンプルフローをカスタマイズするには、新しいアプリケーションスコープにコピーします。
    フロー 説明
    6 か月以上経過したプロジェクトをアーカイブ 過去 6 か月にわたり非アクティブなプロジェクトをアーカイブします。

    スポークのサブフロー

    GitLabスポークでは、GitLabタスクの自動化をデモするサンプルフローが提供されます。サンプルサブフローをカスタマイズするには、新しいアプリケーションスコープにコピーします。利用可能なサンプルサブフローは次のとおりです。
    サブフロー 説明
    GitLab 展開 Webhook イベントを処理​ GitLab の展開 Webhook を処理します。
    GitLab ジョブ Webhook イベントを処理​ GitLab のジョブ Webhook イベントを処理します。
    GitLab 結合要求 Webhook イベントを処理 GitLab の結合要求 Webhook イベントを処理します。
    GitLab パイプライン Webhook イベントを処理​ GitLab のパイプライン Webhook イベントを処理します。
    GitLab プッシュ Webhook イベントを処理​ GitLab のプッシュ Webhook イベントを処理します。

    スポークの Webhook

    双方向 Webhook をセットアップして、必須イベントに関する通知を受けることができます。ルーティングポリシーは、ServiceNow アプリに通知するために満たすべき条件を定義します。これらの条件は、通知の受信を希望する GitLab のイベントに基づいています。条件が満たされると、ルーティングポリシーが関連するサブフローをトリガーし、 GitLabタスクを自動化します。

    双方向 Webhook には別途セットアップが必要で、スポークアクションを使用しないで単独で使用できます。デフォルトでは、GitLab Webhooks アプリケーションが GitLab スポークで利用可能で、次のモジュールが含まれています。
    Webhook 説明
    GitLab Webhook レジストリ 使用可能な Webhook レジストリのリストを表示します。
    GitLab Webhook ルーティングポリシー 使用可能な Webhook ルーティングポリシーのリストを表示します。

    スポークモジュール

    GitLab スポークは、[GitLab トークン管理] モジュールを含む Gitlab Token Management アプリケーションを提供します。ServiceNow インスタンスからの要求を認証するために、ここで記録する必要があります。

    接続および資格情報エイリアスの要件

    統合ハブ は、エイリアスを使用して、接続情報および認証情報、および OAuth 認証情報を管理します。エイリアスを使用することで、複数の環境を使用する場合に、複数の認証情報と接続情報プロファイルを構成する必要がなくなります。接続または認証情報が変更された場合、接続を使用するどのアクションも更新する必要はありません。

    スポークの設定については、「 GitLab スポークの設定

    MID サーバー の要件

    これらのアクションでは REST 呼び出しを使用します。REST 呼び出しは MID サーバー で実行できます。GitLab エイリアスに関連付けられた接続レコードを使用して、アクションを実行する場所および MID サーバー 選択属性を設定します。 詳細については「MID サーバー」を参照してください。