CI/CD 持续集成

通知
查看全部
暂无通知

加载中...

Webhook 配置 接收GitLab/GitHub事件,自动触发测试

用于验证Webhook请求来源

将此URL配置到GitLab/GitHub Webhook设置

留空则不限分支

GitLab CI/CD 集成配置

将以下内容保存为项目根目录的 .gitlab-ci.yml,即可在每次Push或MR时自动触发测试:

stages:
  - test

# ========================================
# API接口自动化测试
# ========================================
api-test:
  stage: test
  image: alpine/curl:latest
  script:
    # 触发测试平台Webhook
    - curl -X POST "" \
        -H "Content-Type: application/json" \
        -H "X-Webhook-Token: " \
        -d '{
          "event": "push",
          "ref": "'"$CI_COMMIT_REF_NAME"'",
          "repository": {"name": "'"$CI_PROJECT_NAME"'", "url": "'"$CI_PROJECT_URL"'"},
          "commits": [{"id": "'"$CI_COMMIT_SHA"'", "message": "'"$CI_COMMIT_MESSAGE"'"}],
          "actor": {"name": "'"$GITLAB_USER_NAME"'"}
        }'
    # 等待测试结果(轮询)
    - sleep 5
    - echo "测试结果请查看测试平台报告"
  only:
    - main
    - develop
    - /^release-.*$/
配置步骤
  1. 生成上方Webhook Token
  2. 复制 Webhook URL
  3. 在GitLab项目 → Settings → Webhooks 添加
  4. 粘贴URL和Token,选择Push/MR事件
  5. 可选:复制 .gitlab-ci.yml 到项目根目录
安全建议
  • Token定期轮换
  • 设置IP白名单
  • 分支过滤限制为受保护分支
  • 测试结果自动创建缺陷
GitHub Actions 集成配置

保存为 .github/workflows/auto-test.yml

name: Auto Test Trigger
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  trigger-test:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger AI Test Platform
        run: |
          curl -X POST "${{ secrets.TEST_PLATFORM_WEBHOOK_URL }}" \
            -H "Content-Type: application/json" \
            -H "X-Webhook-Token: ${{ secrets.TEST_PLATFORM_TOKEN }}" \
            -d '{
              "event": "${{ github.event_name }}",
              "ref": "${{ github.ref_name }}",
              "repository": {"name": "${{ github.repository }}"},
              "commits": [{"id": "${{ github.sha }}"}]
            }'
Jenkins Pipeline 集成
pipeline {
    agent any
    environment {
        WEBHOOK_URL = ""
        WEBHOOK_TOKEN = ""
    }
    stages {
        stage('自动化测试') {
            steps {
                sh '''
                    curl -X POST "$WEBHOOK_URL" \
                        -H "Content-Type: application/json" \
                        -H "X-Webhook-Token: $WEBHOOK_TOKEN" \
                        -d '{"event": "push", "ref": "'"$BRANCH_NAME"'"}'
                '''
            }
        }
        stage('查看报告') {
            steps {
                echo '测试报告请查看AI测试平台'
            }
        }
    }
}
最近触发事件

暂无Webhook触发记录

配置好Webhook后,这里会显示每次触发事件

事件类型 来源 分支/标签 仓库 触发时间 状态