52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
name: Descope 사용자 일괄 처리
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
google_sheet_url:
|
|
description: "처리할 Google Sheets의 CSV 내보내기 URL"
|
|
required: true
|
|
type: string
|
|
action_type:
|
|
description: "실행할 작업"
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- create
|
|
- change_password
|
|
expiry_date:
|
|
description: "라이선스 만료일 (YYYY-MM-DD). 입력 시 모든 사용자의 만료일을 덮어씁니다."
|
|
required: false
|
|
type: string
|
|
|
|
jobs:
|
|
run_bulk_operation:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: uv 설치
|
|
uses: astral-sh/setup-uv@v5
|
|
with:
|
|
enable-cache: true
|
|
cache-dependency-glob: "**/uv.lock"
|
|
|
|
- name: uv 가상 환경 캐시
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: .venv
|
|
key: ${{ runner.os }}-uv-${{ hashFiles('**/uv.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-uv-
|
|
|
|
- name: 스크립트 실행
|
|
env:
|
|
DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
|
|
DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
|
|
run: |
|
|
EXPIRY_DATE_ARG=""
|
|
if [[ -n "${{ github.event.inputs.expiry_date }}" ]]; then
|
|
EXPIRY_DATE_ARG="--expiry-date ${{ github.event.inputs.expiry_date }}"
|
|
fi
|
|
uv run python main.py "${{ github.event.inputs.google_sheet_url }}" --action ${{ github.event.inputs.action_type }} $EXPIRY_DATE_ARG |