<freeStyleProject _class='hudson.model.FreeStyleProject'><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'><displayUrl>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/</displayUrl></action><action _class='org.jenkinsci.plugins.testresultsanalyzer.TestResultsAnalyzerAction'></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description>Trigger rebuild of containers after osmo-python-tests.git has changed.
&lt;!-- Managed by Jenkins Job Builder --&gt;</description><displayName>update-containers-osmo-python-tests</displayName><fullDisplayName>update-containers-osmo-python-tests</fullDisplayName><fullName>update-containers-osmo-python-tests</fullName><name>update-containers-osmo-python-tests</name><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/</url><buildable>true</buildable><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>4</buildableDurationMillis><buildableTimeMillis>4</buildableTimeMillis><buildingDurationMillis>677</buildingDurationMillis><executingTimeMillis>677</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8799</waitingDurationMillis><waitingTimeMillis>8799</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></marked><revision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/python/osmo-python-tests</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#6</displayName><duration>677</duration><estimatedDuration>677</estimatedDuration><fullDisplayName>update-containers-osmo-python-tests #6</fullDisplayName><id>6</id><inProgress>false</inProgress><keepLog>false</keepLog><number>6</number><queueId>128059</queueId><result>SUCCESS</result><timestamp>1779909970035</timestamp><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/6/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>osmopy/osmo_interact/common.py</affectedPath><commitId>bb772eea0ddc250896ca078cfb28956edad0f9d4</commitId><timestamp>1779905576000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></author><authorEmail>lynxis@fe80.eu</authorEmail><comment>osmo_interact: improve vty transcript language by a regular rexex

Currently the transcript language understand 3 different tokens:
... (ignore all lines until the following line matches)
... !REGEX (ignore all lines except REXEX)

But to support osmo-stp with different compile options, the
vty help is indented with different amount of spaces depending on the compile options.
To support those add a regular regex using the prefix !r!

E.g.
```
OsmoSTP(config-cs7-as)# ?
-  description       Save human-readable description of the object
vs
+  description               Save human-readable description of the object
```

To use the new regex, the line would be:
```
!r!  description[ ]+Save human-readable description of the object
```

Further all regex special characters needs to be escaped.
```
  description   Save human-readable description of the object (for humans)

!r!  description[ ]+Save human-readable description of the object \(for humans\)
```

Change-Id: Iadcd7a8c3677548a6405e098fe53d0614ef2012c
</comment><date>2026-05-27 20:12:56 +0200</date><id>bb772eea0ddc250896ca078cfb28956edad0f9d4</id><msg>osmo_interact: improve vty transcript language by a regular rexex</msg><path><editType>edit</editType><file>osmopy/osmo_interact/common.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></culprit></build><color>blue</color><firstBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>4</buildableDurationMillis><buildableTimeMillis>4</buildableTimeMillis><buildingDurationMillis>677</buildingDurationMillis><executingTimeMillis>677</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8799</waitingDurationMillis><waitingTimeMillis>8799</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></marked><revision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/python/osmo-python-tests</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#6</displayName><duration>677</duration><estimatedDuration>677</estimatedDuration><fullDisplayName>update-containers-osmo-python-tests #6</fullDisplayName><id>6</id><inProgress>false</inProgress><keepLog>false</keepLog><number>6</number><queueId>128059</queueId><result>SUCCESS</result><timestamp>1779909970035</timestamp><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/6/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>osmopy/osmo_interact/common.py</affectedPath><commitId>bb772eea0ddc250896ca078cfb28956edad0f9d4</commitId><timestamp>1779905576000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></author><authorEmail>lynxis@fe80.eu</authorEmail><comment>osmo_interact: improve vty transcript language by a regular rexex

Currently the transcript language understand 3 different tokens:
... (ignore all lines until the following line matches)
... !REGEX (ignore all lines except REXEX)

But to support osmo-stp with different compile options, the
vty help is indented with different amount of spaces depending on the compile options.
To support those add a regular regex using the prefix !r!

E.g.
```
OsmoSTP(config-cs7-as)# ?
-  description       Save human-readable description of the object
vs
+  description               Save human-readable description of the object
```

To use the new regex, the line would be:
```
!r!  description[ ]+Save human-readable description of the object
```

Further all regex special characters needs to be escaped.
```
  description   Save human-readable description of the object (for humans)

!r!  description[ ]+Save human-readable description of the object \(for humans\)
```

Change-Id: Iadcd7a8c3677548a6405e098fe53d0614ef2012c
</comment><date>2026-05-27 20:12:56 +0200</date><id>bb772eea0ddc250896ca078cfb28956edad0f9d4</id><msg>osmo_interact: improve vty transcript language by a regular rexex</msg><path><editType>edit</editType><file>osmopy/osmo_interact/common.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></culprit></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>4</buildableDurationMillis><buildableTimeMillis>4</buildableTimeMillis><buildingDurationMillis>677</buildingDurationMillis><executingTimeMillis>677</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8799</waitingDurationMillis><waitingTimeMillis>8799</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></marked><revision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/python/osmo-python-tests</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#6</displayName><duration>677</duration><estimatedDuration>677</estimatedDuration><fullDisplayName>update-containers-osmo-python-tests #6</fullDisplayName><id>6</id><inProgress>false</inProgress><keepLog>false</keepLog><number>6</number><queueId>128059</queueId><result>SUCCESS</result><timestamp>1779909970035</timestamp><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/6/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>osmopy/osmo_interact/common.py</affectedPath><commitId>bb772eea0ddc250896ca078cfb28956edad0f9d4</commitId><timestamp>1779905576000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></author><authorEmail>lynxis@fe80.eu</authorEmail><comment>osmo_interact: improve vty transcript language by a regular rexex

Currently the transcript language understand 3 different tokens:
... (ignore all lines until the following line matches)
... !REGEX (ignore all lines except REXEX)

But to support osmo-stp with different compile options, the
vty help is indented with different amount of spaces depending on the compile options.
To support those add a regular regex using the prefix !r!

E.g.
```
OsmoSTP(config-cs7-as)# ?
-  description       Save human-readable description of the object
vs
+  description               Save human-readable description of the object
```

To use the new regex, the line would be:
```
!r!  description[ ]+Save human-readable description of the object
```

Further all regex special characters needs to be escaped.
```
  description   Save human-readable description of the object (for humans)

!r!  description[ ]+Save human-readable description of the object \(for humans\)
```

Change-Id: Iadcd7a8c3677548a6405e098fe53d0614ef2012c
</comment><date>2026-05-27 20:12:56 +0200</date><id>bb772eea0ddc250896ca078cfb28956edad0f9d4</id><msg>osmo_interact: improve vty transcript language by a regular rexex</msg><path><editType>edit</editType><file>osmopy/osmo_interact/common.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></culprit></lastBuild><lastCompletedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>4</buildableDurationMillis><buildableTimeMillis>4</buildableTimeMillis><buildingDurationMillis>677</buildingDurationMillis><executingTimeMillis>677</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8799</waitingDurationMillis><waitingTimeMillis>8799</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></marked><revision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/python/osmo-python-tests</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#6</displayName><duration>677</duration><estimatedDuration>677</estimatedDuration><fullDisplayName>update-containers-osmo-python-tests #6</fullDisplayName><id>6</id><inProgress>false</inProgress><keepLog>false</keepLog><number>6</number><queueId>128059</queueId><result>SUCCESS</result><timestamp>1779909970035</timestamp><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/6/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>osmopy/osmo_interact/common.py</affectedPath><commitId>bb772eea0ddc250896ca078cfb28956edad0f9d4</commitId><timestamp>1779905576000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></author><authorEmail>lynxis@fe80.eu</authorEmail><comment>osmo_interact: improve vty transcript language by a regular rexex

Currently the transcript language understand 3 different tokens:
... (ignore all lines until the following line matches)
... !REGEX (ignore all lines except REXEX)

But to support osmo-stp with different compile options, the
vty help is indented with different amount of spaces depending on the compile options.
To support those add a regular regex using the prefix !r!

E.g.
```
OsmoSTP(config-cs7-as)# ?
-  description       Save human-readable description of the object
vs
+  description               Save human-readable description of the object
```

To use the new regex, the line would be:
```
!r!  description[ ]+Save human-readable description of the object
```

Further all regex special characters needs to be escaped.
```
  description   Save human-readable description of the object (for humans)

!r!  description[ ]+Save human-readable description of the object \(for humans\)
```

Change-Id: Iadcd7a8c3677548a6405e098fe53d0614ef2012c
</comment><date>2026-05-27 20:12:56 +0200</date><id>bb772eea0ddc250896ca078cfb28956edad0f9d4</id><msg>osmo_interact: improve vty transcript language by a regular rexex</msg><path><editType>edit</editType><file>osmopy/osmo_interact/common.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></culprit></lastCompletedBuild><lastStableBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>4</buildableDurationMillis><buildableTimeMillis>4</buildableTimeMillis><buildingDurationMillis>677</buildingDurationMillis><executingTimeMillis>677</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8799</waitingDurationMillis><waitingTimeMillis>8799</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></marked><revision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/python/osmo-python-tests</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#6</displayName><duration>677</duration><estimatedDuration>677</estimatedDuration><fullDisplayName>update-containers-osmo-python-tests #6</fullDisplayName><id>6</id><inProgress>false</inProgress><keepLog>false</keepLog><number>6</number><queueId>128059</queueId><result>SUCCESS</result><timestamp>1779909970035</timestamp><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/6/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>osmopy/osmo_interact/common.py</affectedPath><commitId>bb772eea0ddc250896ca078cfb28956edad0f9d4</commitId><timestamp>1779905576000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></author><authorEmail>lynxis@fe80.eu</authorEmail><comment>osmo_interact: improve vty transcript language by a regular rexex

Currently the transcript language understand 3 different tokens:
... (ignore all lines until the following line matches)
... !REGEX (ignore all lines except REXEX)

But to support osmo-stp with different compile options, the
vty help is indented with different amount of spaces depending on the compile options.
To support those add a regular regex using the prefix !r!

E.g.
```
OsmoSTP(config-cs7-as)# ?
-  description       Save human-readable description of the object
vs
+  description               Save human-readable description of the object
```

To use the new regex, the line would be:
```
!r!  description[ ]+Save human-readable description of the object
```

Further all regex special characters needs to be escaped.
```
  description   Save human-readable description of the object (for humans)

!r!  description[ ]+Save human-readable description of the object \(for humans\)
```

Change-Id: Iadcd7a8c3677548a6405e098fe53d0614ef2012c
</comment><date>2026-05-27 20:12:56 +0200</date><id>bb772eea0ddc250896ca078cfb28956edad0f9d4</id><msg>osmo_interact: improve vty transcript language by a regular rexex</msg><path><editType>edit</editType><file>osmopy/osmo_interact/common.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></culprit></lastStableBuild><lastSuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>4</buildableDurationMillis><buildableTimeMillis>4</buildableTimeMillis><buildingDurationMillis>677</buildingDurationMillis><executingTimeMillis>677</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>8799</waitingDurationMillis><waitingTimeMillis>8799</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>6</buildNumber><marked><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></marked><revision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></revision></originmaster><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><branch><SHA1>fc78a2dc082d8f1a1405b6bc9d58f8a2c3fe546e</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><branch><SHA1>bb772eea0ddc250896ca078cfb28956edad0f9d4</SHA1><name>origin/master</name></branch></lastBuiltRevision><remoteUrl>https://gerrit.osmocom.org/python/osmo-python-tests</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#6</displayName><duration>677</duration><estimatedDuration>677</estimatedDuration><fullDisplayName>update-containers-osmo-python-tests #6</fullDisplayName><id>6</id><inProgress>false</inProgress><keepLog>false</keepLog><number>6</number><queueId>128059</queueId><result>SUCCESS</result><timestamp>1779909970035</timestamp><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/6/</url><builtOn>build4-deb12build-ansible</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>osmopy/osmo_interact/common.py</affectedPath><commitId>bb772eea0ddc250896ca078cfb28956edad0f9d4</commitId><timestamp>1779905576000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></author><authorEmail>lynxis@fe80.eu</authorEmail><comment>osmo_interact: improve vty transcript language by a regular rexex

Currently the transcript language understand 3 different tokens:
... (ignore all lines until the following line matches)
... !REGEX (ignore all lines except REXEX)

But to support osmo-stp with different compile options, the
vty help is indented with different amount of spaces depending on the compile options.
To support those add a regular regex using the prefix !r!

E.g.
```
OsmoSTP(config-cs7-as)# ?
-  description       Save human-readable description of the object
vs
+  description               Save human-readable description of the object
```

To use the new regex, the line would be:
```
!r!  description[ ]+Save human-readable description of the object
```

Further all regex special characters needs to be escaped.
```
  description   Save human-readable description of the object (for humans)

!r!  description[ ]+Save human-readable description of the object \(for humans\)
```

Change-Id: Iadcd7a8c3677548a6405e098fe53d0614ef2012c
</comment><date>2026-05-27 20:12:56 +0200</date><id>bb772eea0ddc250896ca078cfb28956edad0f9d4</id><msg>osmo_interact: improve vty transcript language by a regular rexex</msg><path><editType>edit</editType><file>osmopy/osmo_interact/common.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/lynxis</absoluteUrl><fullName>lynxis</fullName></culprit></lastSuccessfulBuild><nextBuildNumber>7</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><concurrentBuild>false</concurrentBuild><disabled>false</disabled><downstreamProject _class='hudson.matrix.MatrixProject'><action _class='hudson.model.ParametersDefinitionProperty'><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><value>master</value></defaultParameterValue><description>osmo-ci.git branch
</description><name>OSMO_BRANCH_CI</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><value>master</value></defaultParameterValue><description>docker-playground.git branch
</description><name>OSMO_BRANCH_DOCKER_PLAYGROUND</name><type>StringParameterDefinition</type></parameterDefinition></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'></action><action _class='org.jenkinsci.plugins.testresultsanalyzer.TestResultsAnalyzerAction'></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'></action><description>&lt;b&gt;Auto-generated using Jenkins Job Builder. DO NOT EDIT MANUALLY!&lt;/b&gt;
&lt;!-- Managed by Jenkins Job Builder --&gt;</description><displayName>update-osmo-ci-on-slaves</displayName><fullDisplayName>update-osmo-ci-on-slaves</fullDisplayName><fullName>update-osmo-ci-on-slaves</fullName><name>update-osmo-ci-on-slaves</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/</url><buildable>true</buildable><build _class='hudson.matrix.MatrixBuild'><number>3417</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3417/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3416</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3416/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3415</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3415/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3414</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3414/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3413</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3413/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3412</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3412/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3411</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3411/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3410</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3410/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3409</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3409/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3408</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3408/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3407</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3407/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3406</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3406/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3405</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3405/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3404</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3404/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3403</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3403/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3402</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3402/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3401</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3401/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3400</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3400/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3399</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3399/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3398</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3398/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3397</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3397/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3396</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3396/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3395</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3395/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3394</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3394/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3393</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3393/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3392</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3392/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3391</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3391/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3390</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3390/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3389</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3389/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3388</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3388/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3387</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3387/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3386</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3386/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3385</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3385/</url></build><build _class='hudson.matrix.MatrixBuild'><number>3384</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3384/</url></build><color>blue</color><firstBuild _class='hudson.matrix.MatrixBuild'><number>3384</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3384/</url></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.matrix.MatrixBuild'><number>3417</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3417/</url></lastBuild><lastCompletedBuild _class='hudson.matrix.MatrixBuild'><number>3417</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3417/</url></lastCompletedBuild><lastStableBuild _class='hudson.matrix.MatrixBuild'><number>3417</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3417/</url></lastStableBuild><lastSuccessfulBuild _class='hudson.matrix.MatrixBuild'><number>3417</number><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/3417/</url></lastSuccessfulBuild><nextBuildNumber>3418</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><property _class='hudson.model.ParametersDefinitionProperty'><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>OSMO_BRANCH_CI</name><value>master</value></defaultParameterValue><description>osmo-ci.git branch
</description><name>OSMO_BRANCH_CI</name><type>StringParameterDefinition</type></parameterDefinition><parameterDefinition _class='hudson.model.StringParameterDefinition'><defaultParameterValue _class='hudson.model.StringParameterValue'><name>OSMO_BRANCH_DOCKER_PLAYGROUND</name><value>master</value></defaultParameterValue><description>docker-playground.git branch
</description><name>OSMO_BRANCH_DOCKER_PLAYGROUND</name><type>StringParameterDefinition</type></parameterDefinition></property><concurrentBuild>false</concurrentBuild><disabled>false</disabled><scm _class='hudson.plugins.git.GitSCM'></scm><upstreamProject _class='hudson.model.FreeStyleProject'><name>osmo-gsm-manuals-trigger</name><url>https://jenkins.osmocom.org/jenkins/job/osmo-gsm-manuals-trigger/</url><color>blue</color></upstreamProject><upstreamProject _class='hudson.model.FreeStyleProject'><name>update-containers-osmo-python-tests</name><url>https://jenkins.osmocom.org/jenkins/job/update-containers-osmo-python-tests/</url><color>blue</color></upstreamProject><upstreamProject _class='hudson.model.FreeStyleProject'><name>update-osmo-ci-on-slaves-dp</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves-dp/</url><color>blue</color></upstreamProject><activeConfiguration><name>label=build4-deb12build-ansible</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=build4-deb12build-ansible/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=build5-deb12build-ansible</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=build5-deb12build-ansible/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=gtp0-deb10fr</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=gtp0-deb10fr/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=lx2-raspbian13build-ansible</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=lx2-raspbian13build-ansible/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=rpi4-raspbian12build-ansible-1</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=rpi4-raspbian12build-ansible-1/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=rpi4-raspbian12build-ansible-2</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=rpi4-raspbian12build-ansible-2/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=rpi4-raspbian12build-ansible-3</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=rpi4-raspbian12build-ansible-3/</url><color>blue</color></activeConfiguration><activeConfiguration><name>label=simtester</name><url>https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves/label=simtester/</url><color>blue</color></activeConfiguration></downstreamProject><scm _class='hudson.plugins.git.GitSCM'><type>hudson.plugins.git.GitSCM</type><branche></branche><mergeOptions><fastForwardMode>--ff</fastForwardMode><mergeStrategy>default</mergeStrategy></mergeOptions><userRemoteConfig></userRemoteConfig></scm></freeStyleProject>