Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 5.11.0 #19

Merged
merged 74 commits into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
2323097
Gitlab MVP work in progress
zsoltEPAM Sep 18, 2023
88ff397
Gitlab MVP work in progress 2
zsoltEPAM Sep 20, 2023
6ffe823
Gitlab MVP work in progress 2
zsoltEPAM Sep 20, 2023
e2b3673
Gitlab MVP work in progress | working client
zsoltEPAM Sep 21, 2023
692d7a4
Gitlab MVP work in progress | working client
zsoltEPAM Sep 21, 2023
d17b8cb
Gitlab MVP work in progress | all function working
zsoltEPAM Sep 21, 2023
64f4c0d
Gitlab MVP version 1
zsoltEPAM Sep 22, 2023
f667ffd
Gitlab MVP version 1
zsoltEPAM Sep 22, 2023
2b94452
Gitlab MVP version 1.1
zsoltEPAM Oct 5, 2023
655a5cd
Ticket mapping fix
zsoltEPAM Oct 5, 2023
68cd9d7
EPMRPP-85619 || Create global integration for GitLab plugin (#1)
Vadim73i Oct 13, 2023
b1c515b
EPMRPP-85672 || Link issue from GitLab to failed test case
APiankouski Oct 13, 2023
2a83ded
Remove GetFileCommand
APiankouski Oct 13, 2023
ecfd628
EPMRPP-87071 || Post issue on the failed test in ReportPortal to GitL…
APiankouski Oct 26, 2023
14212bd
Fuature/epmrpp 87071 add weight field (#5)
APiankouski Oct 27, 2023
cbcf137
EPMRPP-87049 || Rename parameters for getIssue
APiankouski Oct 27, 2023
d6e7090
EPMRPP-87023 || No UI validation on Create/Edit Gitlab integration mo…
Vadim73i Oct 27, 2023
3375be5
Update confidential field (#7)
APiankouski Oct 30, 2023
61ca9cb
EPMRPP-87023 || No UI validation on Create/Edit Gitlab integration mo…
Vadim73i Oct 31, 2023
ff3b77d
EPMRPP-86302 || Create Global integration modal. New design support (#8)
AmsterGet Oct 31, 2023
a3aae28
EPMRPP-87411 || All spaces are replaced with %20 if post issue to GitLab
APiankouski Nov 8, 2023
8e42187
Merge pull request #10 from reportportal/bugfix/EPMRPP-87411
pbortnik Nov 8, 2023
26b5164
EMPRPP-87316 || Add search user commands
pbortnik Nov 8, 2023
67ce6f4
EMPRPP-87316 || Add search milestones commands
pbortnik Nov 8, 2023
23aeea6
EMPRPP-87316 || Add search milestones commands
pbortnik Nov 8, 2023
5d2db22
EMPRPP-87316 || Refactor old commands
pbortnik Nov 8, 2023
3823340
EPMRPP-87316 || Add multiselect in fields support
pbortnik Nov 9, 2023
26112e7
EMPRPP-87316 || Provide version
pbortnik Nov 9, 2023
aac9e5f
EMPRPP-87316 || Update plugin api version
pbortnik Nov 9, 2023
0af76a5
Merge commit
pbortnik Nov 9, 2023
ddb70db
Update GitlabClient
pbortnik Nov 9, 2023
4b61b71
Merge remote-tracking branch 'origin/feature/test' into feature/test
pbortnik Nov 9, 2023
f3a17b9
EPMRPP-87316 || Add headers
pbortnik Nov 10, 2023
16ea778
Merge pull request #12 from reportportal/feature/EPMRPP-87316
pbortnik Nov 10, 2023
740b1cb
EPMRPP-87316 || Add search epic command
pbortnik Nov 10, 2023
fffb0cc
EPMRPP-87316 || Add description to the field.
pbortnik Nov 10, 2023
3ef69af
EPMRPP-87316 || Add description to the field.
pbortnik Nov 10, 2023
5a251ed
EPMRPP-87316 || Add description to the field.
pbortnik Nov 10, 2023
cc20960
Merge pull request #13 from reportportal/feature/EPMRPP-87493
pbortnik Nov 10, 2023
8efd5f8
EMPRPP-87334 || Refactor to command approach
pbortnik Nov 11, 2023
32b55f0
Merge pull request #14 from reportportal/feature/EPMRPP-87334
pbortnik Nov 13, 2023
fbe378d
EPMRPP-87316 || Add headers
pbortnik Nov 13, 2023
85d3342
EMPRPP-87336 || Update fields building
Nov 16, 2023
54dfdbf
EMPRPP-86303 || Create search labels commands.
Nov 17, 2023
08b2035
EPMRPP-87316 || Fix title name
pbortnik Nov 17, 2023
76dde90
Merge remote-tracking branch 'origin/develop' into develop
pbortnik Nov 17, 2023
3915c28
EPMRPP-87316 || Refactor fields handling into query params
pbortnik Nov 17, 2023
b2e6a19
Merge pull request #15 from reportportal/feature/EPMRPP-86303
pbortnik Nov 20, 2023
63ae021
EPMRPP-86303 || Add proper handling of not existed labels
pbortnik Nov 20, 2023
983b396
EPMRPP-87336 || Add description to the premium fields
pbortnik Nov 20, 2023
5d08a05
EMPRPP-86303 || Update labels while posting ticket.
pbortnik Nov 21, 2023
b63c7ce
EMPRPP-86303 || Update labels while posting ticket.
pbortnik Nov 21, 2023
444830e
EMPRPP-86303 || Fix potential npes
pbortnik Nov 22, 2023
aac3445
EMPRPP-86303 || Add request logging
pbortnik Nov 22, 2023
2d6009a
EMPRPP-86303 || Add request logging
pbortnik Nov 22, 2023
d2daa68
EMPRPP-86303 || Proper handling of named values
pbortnik Nov 22, 2023
1695d51
EMPRPP-86303 || Refactor handling of named values
pbortnik Nov 22, 2023
fbb78c3
EPMRPP-87336 || Fix labels collector
pbortnik Nov 23, 2023
f3b4525
EPMRPP-87336 || Fix assignee_id
pbortnik Nov 23, 2023
9153561
EPMRPP-87336 || Fix collection of named value
pbortnik Nov 23, 2023
138f62c
EPMRPP-87433 || Add comment, logs, attachment support (#16)
pbortnik Nov 27, 2023
6291226
EPMRPP-88443 || Add empty description handler
pbortnik Nov 29, 2023
04bb7cf
EPMRPP-88419 || Store different types of fields for Incident and Issue
pbortnik Nov 29, 2023
712bcf5
EPMRPP-88419 || Update assignee description
pbortnik Nov 30, 2023
60ae4ba
EPMRPP-88443 || Add empty description handler
pbortnik Nov 30, 2023
cbe3811
Add openapi spec (#17)
raikbitters Dec 14, 2023
89acc83
EPMRPP-88835 || Fix fields epic and weight description
pbortnik Dec 20, 2023
add026d
rc/5.11.0 || Update release version
Dec 20, 2023
e147101
EPMRPP-88911 || Link name has wrong naming for GitLab documentation (…
Vadim73i Dec 26, 2023
adc159f
EPMRPP-88902 || Not clear error when user submits invalid token
APiankouski Dec 28, 2023
c64e52d
Epmrpp-88957 || Back link to Report Portal, Attachments, Logs and Com…
APiankouski Dec 29, 2023
e4b1e0f
EPMRPP-88931 consider multiple-words search string as single parameter
grabsefx Jan 4, 2024
02a7bdc
Merge pull request #23 from reportportal/EPMRPP-88931
grabsefx Jan 4, 2024
372dc3f
EPMRPP-88931 multi-word search fix for assignee field (#24)
grabsefx Jan 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build

on:
pull_request:
push:
branches:
- master
- develop
paths-ignore:
- '.github/**'
- README.md
- gradle.properties

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '11'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Setup git credentials
uses: oleksiyrudenko/gha-git-credentials@v2
with:
name: 'reportportal.io'
email: '[email protected]'
token: ${{ secrets.GITHUB_TOKEN }}

- name: Build with Gradle
id: build
run: |
./gradlew build
101 changes: 101 additions & 0 deletions .github/workflows/promote.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Copyright 2022 EPAM Systems
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Promote

on:
workflow_dispatch:
inputs:
version:
description: 'Release version'
required: true

env:
REPOSITORY_URL: 'https://maven.pkg.github.com'
UPSTREAM_REPOSITORY_URL: 'https://oss.sonatype.org'
PACKAGE_SUFFIXES: '-javadoc.jar,-javadoc.jar.asc,-sources.jar,-sources.jar.asc,.jar,.jar.asc,.pom,.pom.asc'
PACKAGE: 'com.epam.reportportal'


jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Get variables
run: |
echo "ARTIFACT=`echo ${{ github.repository }} | cut -d/ -f2- | awk '{print tolower($0)}'`" >> $GITHUB_ENV
echo "PACKAGE_PATH=`echo ${{ env.PACKAGE }} | sed 's/\./\//g'`" >> $GITHUB_ENV
- name: Upload package
run: |
IFS=',' read -a files <<< '${{ env.PACKAGE_SUFFIXES }}'
for f in ${files[@]}; do
export URL="${{ env.REPOSITORY_URL }}/${{ github.repository }}/${PACKAGE_PATH}/${ARTIFACT}/${{ github.event.inputs.version }}/${ARTIFACT}-${{ github.event.inputs.version }}${f}"
echo "Downloading artifact: ${URL}"
curl -f -u ${{ github.actor }}:${{ secrets.GITHUB_TOKEN }} -s -O -L "${URL}"
done
files=($(ls))
echo 'Files downloaded:'
echo "${files[@]}"
echo 'Bundle generation'
export BUNDLE_FILE="bundle.jar"
jar -cvf ${BUNDLE_FILE} "${files[@]}"
echo 'Bundle upload'
curl -f -u ${{ secrets.SONATYPE_USER }}:${{ secrets.SONATYPE_PASSWORD }} -L \
--request POST '${{ env.UPSTREAM_REPOSITORY_URL }}/service/local/staging/bundle_upload' \
--form "file=@${BUNDLE_FILE}" >response.json
response_type=`jq type response.json || echo ''`
if [ -z "$response_type" ]; then
echo 'ERROR: Response is not JSON!' 1>&2
cat response.json 1>&2
exit 1
fi
repo=`jq -r '.repositoryUris[0]' response.json`
if [ -z "$repo" ]; then
echo 'Unable to upload bundle' 1>&2
cat response.json 1>&2
exit 1
fi
echo "NEXUS_REPOSITORY=${repo}" >> $GITHUB_ENV
- name: Get repository variables
run: |
echo "NEXUS_REPOSITORY_NAME=`echo ${NEXUS_REPOSITORY} | sed -E 's/(.+)\/([^\/]+)$/\2/'`" >> $GITHUB_ENV
- name: Promote package
env:
ATTEMPTS: 60
SLEEP_TIME: 10
run: |
verified=false
for i in `seq 0 ${ATTEMPTS}`; do
sleep $SLEEP_TIME
curl -f -s -u ${{ secrets.SONATYPE_USER }}:${{ secrets.SONATYPE_PASSWORD }} -L \
--header 'Accept: application/json' \
${{ env.UPSTREAM_REPOSITORY_URL }}/service/local/staging/repository/${NEXUS_REPOSITORY_NAME} >result.json
is_closed=`jq -r '.type' result.json`
is_transitioning=`jq -r '.transitioning' result.json`
echo "Current repository status: $is_closed; transitioning: $is_transitioning"
if [[ "$is_closed" == "closed" && "$is_transitioning" == "false" ]]; then
verified=true
break
fi
done
if $verified; then
echo "A bundle was verified, releasing"
curl -f -u ${{ secrets.SONATYPE_USER }}:${{ secrets.SONATYPE_PASSWORD }} -L \
--header 'Content-Type: application/json' \
--data-raw "{\"data\":{\"stagedRepositoryIds\":[\"${NEXUS_REPOSITORY_NAME}\"], \"description\":\"Releasing ${{ github.event.inputs.version }}\"}}" \
--request POST ${{ env.UPSTREAM_REPOSITORY_URL }}/service/local/staging/bulk/promote
else
echo 'Verification failed, please check the bundle' 1>&2
exit 1
fi
45 changes: 45 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Release

on:
push:
branches:
- master
paths-ignore:
- '.github/**'
- README.md
- gradle.properties

env:
GH_USER_NAME: github.actor
SCRIPTS_VERSION: 5.10.0
BOM_VERSION: 5.11.2

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '11'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Setup git credentials
uses: oleksiyrudenko/gha-git-credentials@v2
with:
name: 'reportportal.io'
email: '[email protected]'
token: ${{ secrets.GITHUB_TOKEN }}

- name: Release with Gradle
id: release
run: |
./gradlew release -PreleaseMode -Pscripts.version=${{env.SCRIPTS_VERSION}} -Pbom.version=${{env.BOM_VERSION}} \
-PgithubUserName=${{env.GH_USER_NAME}} -PgithubToken=${{secrets.GITHUB_TOKEN}} \
-PgpgPassphrase=${{secrets.GPG_PASSPHRASE}} -PgpgPrivateKey="${{secrets.GPG_PRIVATE_KEY}}"
97 changes: 38 additions & 59 deletions plugin/build.gradle → build.gradle
Original file line number Diff line number Diff line change
@@ -1,68 +1,61 @@
import com.github.spotbugs.SpotBugsTask

plugins {
id "io.spring.dependency-management" version "1.0.9.RELEASE"
id 'java'
id 'jacoco'
id 'com.github.johnrengelman.shadow' version '5.2.0'
id "com.github.spotbugs" version "3.0.0"
id "com.moowork.node" version "1.3.1"
id 'nu.studer.jooq' version '3.0.3'
}

apply from: 'project-properties.gradle'
apply from: 'jooq.gradle'
apply from: 'ui.gradle'

node {
version = '14.19.3'
npmVersion = '6.14.17'
download = true
workDir = file("${project.buildDir}/plugin/ui")
nodeModulesDir = file("${project.rootDir}/plugin/ui")
}

npm_run_build {
inputs.files fileTree("ui/src")
inputs.file 'ui/package.json'
inputs.file 'ui/package-lock.json'
outputs.dir 'ui/build'
}
def scriptsUrl = 'https://raw.githubusercontent.com/reportportal/gradle-scripts/develop'

apply from: 'project-properties.gradle'
apply from: scriptsUrl + '/release-fat.gradle'
apply from: scriptsUrl + '/signing.gradle'
apply from: scriptsUrl + '/build-quality.gradle'

repositories {
mavenCentral()
mavenLocal()
if (releaseMode) {
dependencyRepos.forEach { path ->
maven {
setUrl("https://maven.pkg.github.com/reportportal/${path}")
credentials {
username = findProperty("githubUserName")
password = findProperty("githubToken")
}
}
}
} else {
mavenCentral { url "https://repo1.maven.org/maven2" }

if (!releaseMode) {
maven { url 'https://jitpack.io' }
}
}

dependencyManagement {
imports {
mavenBom(releaseMode ? 'com.epam.reportportal:commons-bom:' + getProperty('bom.version') : 'com.epam.reportportal:commons-bom:5.11.2')
}
}

dependencies {
if (releaseMode) {
implementation 'com.epam.reportportal:plugin-api'
annotationProcessor 'com.epam.reportportal:plugin-api'
} else {
implementation 'com.github.reportportal:plugin-api:5.7.0'
annotationProcessor 'com.github.reportportal:plugin-api:5.7.0'
implementation 'com.epam.reportportal:plugin-api'
annotationProcessor 'com.epam.reportportal:plugin-api'
}

implementation group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1'
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.0'
testImplementation 'org.mockito:mockito-junit-jupiter:3.12.4'

testCompile 'org.hamcrest:hamcrest-all:1.3'

}

spotbugs {
sourceSets = [sourceSets.main]
reportLevel = "high"
artifacts {
archives shadowJar
}
tasks.withType(SpotBugsTask) {
reports {
xml.enabled false
html.enabled true

sourceSets {
main {
resources
{
exclude '**'
}
}
}

Expand All @@ -78,20 +71,7 @@ test {
}
}

build.dependsOn jacocoTestReport

artifacts {
archives shadowJar
}

sourceSets {
main {
resources
{
exclude '**'
}
}
}
generatePomFileForShadowPublication { pom.packaging = "jar" }

jar {
from("src/main/resources") {
Expand All @@ -106,7 +86,7 @@ jar {
"Plugin-Id": "${pluginId}",
"Plugin-Version": "${project.version}",
"Plugin-Provider": "Report Portal",
"Plugin-Class": "com.epam.reportportal.extension.template.TemplatePlugin",
"Plugin-Class": "com.epam.reportportal.extension.gitlab.GitlabPlugin",
"Plugin-Service": "api"
)
}
Expand Down Expand Up @@ -145,5 +125,4 @@ task assemblePlugins(type: Copy) {
dependsOn subprojects.assemblePlugin
}

compileJava.dependsOn npm_run_build

compileJava.dependsOn npm_run_build
Loading
Loading