ここでは、Knative を使用してGitHub イベントを処理する方法について説明します。
始める前に
- Serving、Eventing、および GitHub アドオンコンポーネントがインストールされている必要があります。 詳細については、「Knative コンポーネントのデプロイ」をご参照ください。
- Knative サービス用のカスタムドメインをセットアップし、ドメイン設定が完了している必要があります。 詳細については、「Knative でカスタムドメイン名を使用する」をご参照ください。
サービスの作成
GitHubトークンの作成
GitHub イベントのイベントソースの作成
GitHub イベントを受信するには、GitHubSource を作成する必要があります。
タスクの結果
注 ドメイン名の ICP 登録を取得する必要があります。 でなければ、アクセスすることができません。
次のコマンドを実行して
pull request
を GitHub リポジトリに作成します。 GitHub イベントが生成されます。
kubectl --namespace default get pods
kubectl --namespace default logs github-event-display-XXXX user-container
Knative Eventing システムでは、イベントログは次のようになります。
2018/11/08 18:25:34 Message Dumper received a message: POST / HTTP/1.1
Host: github-event-display.knative-demo.svc.cluster.local
Accept-Encoding: gzip
Ce-Cloudeventsversion: 0.1
Ce-Eventid: a8d4cf20-e383-11e8-8069-46e3c8ad2b4d
Ce-Eventtime: 2018-11-08T18:25:32.819548012Z
Ce-Eventtype: dev.knative.source.github.pull_request
Ce-Source: https://github.com/someuser/somerepo/pull/1
Content-Length: 21060
Content-Type: application/json
User-Agent: Go-http-client/1.1
X-B3-Parentspanid: b2e514c3dbe94c03
X-B3-Sampled: 1
X-B3-Spanid: c85e346d89c8be4e
X-B3-Traceid: abf6292d458fb8e7
X-Envoy-Expected-Rq-Timeout-Ms: 60000
X-Envoy-Internal: true
X-Forwarded-For: 127.0.0.1, 127.0.0.1
X-Forwarded-Proto: http
X-Request-Id: 8a2201af-5075-9447-b593-ec3a243aff52
{"action":"opened","number":1,"pull_request": ...}