Jump to content

Mikael Kalms

Members
  • Content Count

    106
  • Joined

  • Last visited

  • Days Won

    10

Mikael Kalms last won the day on March 17 2017

Mikael Kalms had the most liked content!

Community Reputation

1 Neutral

About Mikael Kalms

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Deleting a group with a space in the name is not possible either: However, renaming the group from "smurf 2" to "smurf_2" and then deleting it works.
  2. Hi, if you create a group with a space in the name, then you cannot add users to the group. The add operation will fail with a "404 not found". Repro case: 1. create this test group 2. attempt to add any user that exists in your organization 3. Observe the following error This works properly if I attempt to add the same user to a group without a space in the name.
  3. Performing extra refreshes (F5 or Shift-F5) does not make the chatbot re-appear. I will check again in a day or two, from the same workstation.
  4. This fellow keeps appearing for me, even though I dismiss it: Yesterday, the chatbot appeared when I visited both www.plasticscm.com and forum.plasticscm.com. I dismissed the chatbot by clicking the (X) symbol that appears when hovering over it. This replaced the chatbot with a conversation-bubble icon instead (both on www.plasticscm.com and forum.plasticscm.com). Today, when I arrived to work, I still had a browser tab open pointing to forum.plasticscm.com. I was still logged in since yesterday with my current forum user. When I clicked F5 to refresh the page, the chatbot re-appeared. Since the chatbot re-appears, it contributes negatively to my forum browsing experience. I will now dismiss the chatbot again.
  5. Hi, this is our current organization, according to cloud.plasticscm.com: This is our current organization, according to www.plasticscm.com/dashboard/cloud: I suspect that the "Encrypted" status is incorrect in the new dashboard.
  6. There is also ... this solution: https://github.com/Kalmalyzer/MuteThoseBloodyOwls
  7. Storing owl data on the server assumes that one human = one account on one server. You are reasonably close to that with a centralized workflow where users work directly against Plastic Cloud. We also have accounts which are for a particular purpose (example: build system) rather than a particular human. The mapping is not accurate in those cases. I'm not sure how important those accounts are in the grand scheme of things. I suspect it will be more difficult for you in distributed scenarios involving on-premise servers: Which server will a user's owl information be stored on? I'm going to make a comparison here, between the Unreal Editor and Plastic. Like Plastic, the Unreal Editor has a couple of short tutorials, that are situational (tutorial X becomes available when entering page X). 4 out of 4 developers I have asked in the office, would like to mute all the owls in their Plastic clients right now. 0 out of 4 developers I have asked in the office, would like to mute all the tutorials in their Unreal Editors right now. The main problem that these developers have is that the owls in Plastic are intrusive, while the tutorial indicator in Unreal Editor is not intrusive. The developers here would have been OK with the owls if they had been less in-your-face. They steal a lot of screen real-estate and interrupt your train of thought when they appear. That is why people here are annoyed with them. I did not ask for this owl to appear. This is intrusive: I did not ask for the tutorial indicator to appear on first application launch. This is slightly intrusive, but I only need to click away the "welcome" popup once: I did not ask for the tutorial indicator to appear on subsequent pages either. This is not intrusive:
  8. I'm aware of the "Got it, don't show me again" button. I made this post because I had grown tired of muting the messages one-by-one. My personal frustration comes from the owl system not realizing that me (one human) is using Plastic on multiple machines. When I'm updating to an Owl-enabled Plastic version on my third computer, I am not interested in reading any of the owl popups on that computer because I have already been through these once on the other two machines. I have no hard data on which owls appear unwanted to the team here. I'll let you know if I can pinpoint any that cause frustration with my colleagues.
  9. I'm aware of the "Got it, don't show me again" button. I made this post because I had grown tired of muting the messages one-by-one. My personal frustration comes from the owl system not realizing that me (one human) is using Plastic on multiple machines. When I'm updating to an Owl-enabled Plastic version on my third computer, I am not interested in reading any of the owl popups on that computer because I have already been through these once on the other two machines. I have no hard data on which owls appear unwanted to the team here. I'll let you know if I can pinpoint any that cause frustration with my colleagues.
  10. Hi, I'm using Plastic on several machines in parallel. I'm getting tired of muting all the *** owls on all machines. How do I do it? Don't get me wrong, the owls seem like a great feature for people getting started with Plastic, but some people who are experienced with Plastic since before just want them gone. Several people on my team have asked me how to mute them all in one go, and I have no good answer. Mikael
  11. Repro steps: 1. Create a new, empty repository. 2. Add the following file to the repository with the name Jenkinsfile, and check it in: pipeline { agent any stages { stage ('Fetch PLASTICSCM_CHANGESET_ID') { steps { echo "Change set ID: ${PLASTICSCM_CHANGESET_ID}" } } } } 3. Create a new Pipeline job in Jenkins. Set it to be of type "Pipeline script from SCM". Point it to your repository. 4. Tell Jenkins to build the job once. This is the resulting error message: Started by user admin Obtained Jenkinsfile from repository "ChangeSetIdTest@local" path "/" smartbranch "/main" Running in Durability level: MAX_SURVIVABILITY [Pipeline] node Running on Jenkins in C:\Program Files (x86)\Jenkins\workspace\ChangeSetIdTest [Pipeline] { [Pipeline] stage [Pipeline] { (Declarative: Checkout SCM) [Pipeline] checkout [ChangeSetIdTest] $ cm find changeset where date between '2019-02-17T17:07:01' and '2019-02-17T17:08:46' and branch='/main' on repositories 'ChangeSetIdTest@local' --xml --dateformat=yyyy'-'MM'-'dd'T'HH':'mm':'ss <?xml version="1.0" encoding="utf-8" ?> <PLASTICQUERY> <CHANGESET> <ID>6</ID> <CHANGESETID>0</CHANGESETID> <COMMENT>Root dir</COMMENT> <DATE>2019-02-17T17:08:07</DATE> <OWNER>[redacted]</OWNER> <REPOSITORY>ChangeSetIdTest</REPOSITORY> <REPNAME>ChangeSetIdTest</REPNAME> <REPSERVER>local</REPSERVER> <BRANCH>/main</BRANCH> <PARENT>-1</PARENT> <GUID>0497ef04-4c81-4090-8458-649885400c84</GUID> </CHANGESET> <CHANGESET> <ID>16</ID> <CHANGESETID>1</CHANGESETID> <COMMENT>Added jenkinsfile</COMMENT> <DATE>2019-02-17T17:08:40</DATE> <OWNER>[redacted]</OWNER> <REPOSITORY>ChangeSetIdTest</REPOSITORY> <REPNAME>ChangeSetIdTest</REPNAME> <REPSERVER>local</REPSERVER> <BRANCH>/main</BRANCH> <PARENT>0</PARENT> <GUID>f96514d9-4b05-49e5-98c8-5b2fd5751202</GUID> </CHANGESET> </PLASTICQUERY> [ChangeSetIdTest] $ cm gwp "C:\Program Files (x86)\Jenkins\workspace\ChangeSetIdTest" --format={1} C:\Program Files (x86)\Jenkins\workspace\ChangeSetIdTest is not in a workspace. [ChangeSetIdTest] $ cm diff cs:0@ChangeSetIdTest@local --format={path}#@_sep_@#{revid}#@_sep_@#{parentrevid}#@_sep_@#{status} --repositorypaths Can't diff cset cs:0@ChangeSetIdTest@local because it doesn't have a parent. [ChangeSetIdTest] $ cm diff cs:0@ChangeSetIdTest@local --format={path}#@_sep_@#{revid}#@_sep_@#{parentrevid}#@_sep_@#{status} --repositorypaths Can't diff cset cs:0@ChangeSetIdTest@local because it doesn't have a parent. [ChangeSetIdTest] $ cm diff cs:0@ChangeSetIdTest@local --format={path}#@_sep_@#{revid}#@_sep_@#{parentrevid}#@_sep_@#{status} --repositorypaths Can't diff cset cs:0@ChangeSetIdTest@local because it doesn't have a parent. FATAL: The cm command 'cm diff cs:0@ChangeSetIdTest@local --format={path}#@_sep_@#{revid}#@_sep_@#{parentrevid}#@_sep_@#{status} --repositorypaths' failed after 3 retries [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline ERROR: The cm command 'cm diff cs:0@ChangeSetIdTest@local --format={path}#@_sep_@#{revid}#@_sep_@#{parentrevid}#@_sep_@#{status} --repositorypaths' failed after 3 retries Finished: FAILURE I'm not sure why, but I think that the Jenkins plugin is attempting to find ancestors starting from cset 0, and this operation fails.
  12. Hi, I have recently created two new Jenkins build jobs based off of an existing build job. The existing build job has been working fine for some time, but the two new build jobs fail. What I find is that with the new build jobs, I get the following error: groovy.lang.MissingPropertyException: No such property: PLASTICSCM_CHANGESET_ID for class: groovy.lang.Binding This is strange, and it is causing trouble when we are about to make a major release. I have a workaround, which I will use for the time being -- directly calling `cm status` and using that result instead of he PLASTICSCM_CHANGESET_ID variable. Still, it would be nice if you could find a solution for this long term. The entire project exists in a Plastic repo. The Jenkins build job is a Declarative Pipeline job. The Jenkinsfile is configured to be fetched as "Pipeline script from SCM", with a selector like this: repository "Freedom@FallDamage@Cloud" path "/" smartbranch "/main" (Use update is enabled, Lightweight checkout is enabled) I am not performing any extra checkouts, just relying on what Jenkins automatically does. Now, the step that fails looks like this: // Build 64-bit Windows Standalone player, with Steam activated // Source project location: ${SOURCE_DIR} // Target build location: ${SOURCE_DIR}/SteamBuild/input // Target executable name: ${PROJECT_NAME}.exe stage('Build') { steps { timeout(time: "${BUILD_STAGE_TIMEOUT_MINUTES}" as int, unit: 'MINUTES') { script { failedStage = STAGE_NAME try { bat "if exist ${WORKSPACE}\\UnityEditor.log del ${WORKSPACE}\\UnityEditor.log" bat "START /WAIT \"Unity\" \"${UNITY_INSTALLATION_DIR}/Editor/Unity.exe\"" + " -quit" + " -batchmode" + " -executeMethod CustomBuild.GenerateBuild_CommandLine" + " -BuildInfo.SourceControl.RepositoryServer \"<org>@Cloud\"" + " -BuildInfo.SourceControl.Repository \"${SCM_REPOSITORY_NAME}\"" + " -BuildInfo.SourceControl.ChangeSetId \"${PLASTICSCM_CHANGESET_ID}\"" + " -BuildInfo.BuildJob.Name \"${JOB_NAME}\"" + " -BuildInfo.BuildJob.Id \"#${BUILD_ID}\"" + " -BuildInfo.Configuration \"${CONFIGURATION}\"" + " -BuildInfo.BuildTimeStamp \"${BUILD_TIMESTAMP}\"" + " -CustomBuild.OnlineVersion \"${JOB_NAME}.${PLASTICSCM_CHANGESET_ID}\"" + " -CustomBuild.Configuration \"${CONFIGURATION}\"" + " -CustomBuild.TargetExecutable \"${SOURCE_DIR}/SteamBuild/input/${PROJECT_NAME}.exe\"" + " -projectPath \"${SOURCE_DIR}\"" + " -logFile \"${WORKSPACE}/UnityEditor.log\"" + " && IF ERRORLEVEL 1 EXIT /B 1" } finally { bat "type \"${WORKSPACE}\\UnityEditor.log\"" } } } } } It is the ${PLASTICSCM_CHANGESET_ID} variable reference which Jenkins claims is unassigned. Now, again -- I am using the same exact script, but with 4 environment variables changed, for another build job that is working well. This is what the Stage view looks like. I triggered the build job twice. The first time, the checkout took a long time since it had to pull down the entire repository. The second time, there were no changes to the repo, so checkout was quick. My wild guess: The PlasticSCM plugin does not publish changes or set some environment variables to Jenkins for a particular build job, until that job has run successfully at least once. Let me know if you want a support ticket with more detailed logs, build scripts & screenshots.
  13. Hi, I am about to move out some shared logic from our Jenkinsfiles to shared libraries, but I am running into problems. The Plastic SCM integration for Jenkins will always place content into a workspace folder beneath Jenkins' "base" project folder. This is different to how the Jenkins support for other SCMs (Git, Subversion, etc) works. This is fine for projects that are to be built. However, it seems that I cannot use Plastic SCM for shared libraries: Jenkins expects the src/ and vars/ folders to be directly in the "base" project folder, but with Plastic they will typically end up in the "base"/Jenkins-${JOB_NAME}-${NODE_NAME} folder. To be more concrete, on my Jenkins machine the shared library files will be checked out at /var/lib/jenkins/workspace/Tests/TestSharedLibrary@libs/FreedomJenkinsLibrary/Jenkins-TestSharedLibrary-MASTER but Jenkins requires the repository's files to exist at /var/lib/jenkins/workspace/Tests/TestSharedLibrary@libs/FreedomJenkinsLibrary The error from Jenkins is: ERROR: Library FreedomJenkinsLibrary expected to contain at least one of src or vars directories Do you have any solution for this? Otherwise, I may have to resort to putting the shared library code into GitHub, and that would make our operational processes more complicated. Corresponding JIRA in Jenkins CI: https://issues.jenkins-ci.org/browse/JENKINS-50284
  14. Hi, and just FYI, I'm running Labs release 6.0.16.1168. I have had the Plastic Change Tracker service active for some days, but will disable for the time being. I notice that when editing text files with Visual Studio 2017, the change tracker service will see Visual Studio's file modifications as rename + delete + add operations (probably because that is what VS does under the hood). See attached image for an example. I have edited BoardLogic.cs & BoardPresentation.cs in this situation.
×
×
  • Create New...