pipeline {
    agent any

    stages {
        stage('Build Android APK') {
environment {
    JAVA_HOME = '/usr/lib/jvm/java-21-openjdk-amd64'
    ANDROID_HOME = '/opt/android-sdk'
    ANDROID_SDK_ROOT = '/opt/android-sdk'
    PATH = "/usr/lib/jvm/java-21-openjdk-amd64/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:${env.PATH}"
}

            steps {
                cleanWs()
                checkout scm

                sh '''
                    chmod +x ./gradlew
                    ./gradlew clean assembleDebug
                '''

                archiveArtifacts artifacts: '**/build/outputs/apk/**/*.apk', fingerprint: true
            }
        }
    }
post {
    always {
        script {
            def result = currentBuild.currentResult ?: 'UNKNOWN'

            withCredentials([string(credentialsId: 'TAIGA_TOKEN', variable: 'TAIGA_TOKEN')]) {
                sh """
                    set -e

                    REF=\$(git log -1 --pretty=%B | grep -oE 'TG-[0-9]+' | head -1 | cut -d- -f2 || true)

                    if [ -z "\$REF" ]; then
                      echo "No TG-* reference found"
                      exit 0
                    fi

                    ISSUE_JSON=\$(curl -s \\
                      -H "Authorization: Bearer \$TAIGA_TOKEN" \\
                      "https://taiga.grigowashere.ru/api/v1/issues/by_ref?project=2&ref=\$REF")

                    ISSUE_ID=\$(echo "\$ISSUE_JSON" | python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])')
                    VERSION=\$(echo "\$ISSUE_JSON" | python3 -c 'import sys,json; print(json.load(sys.stdin)["version"])')

                    export COMMENT="Jenkins build #${BUILD_NUMBER}: ${result}
${BUILD_URL}"
                    export VERSION="\$VERSION"

                    python3 -c 'import json, os; print(json.dumps({"comment": os.environ["COMMENT"], "version": int(os.environ["VERSION"])}))' \\
                      > /tmp/taiga-comment.json

                    curl -s -X POST \\
                      -H "Authorization: Bearer \$TAIGA_TOKEN" \\
                      -H "Content-Type: application/json" \\
                      --data @/tmp/taiga-comment.json \\
                      "https://taiga.grigowashere.ru/api/v1/issues/\$ISSUE_ID/comments"

                    echo "Commented Taiga TG-\$REF"
                """.stripIndent()
            }
        }
    }
}
}