class_docstr: State transition logic
class_docstr_tok: ["State","transition","logic"]
code: def _create_github_issue(self) -> None:
      labels = [
          "P0",
          "bug",
          "release-test",
          "ray-test-bot",
          "triage",
          self.test.get_oncall(),
      ]
      if not self.test.is_stable():
          labels.append("unstable-release-test")
      issue_number = self.ray_repo.create_issue(
          title=f"Release test {self.test.get_name()} failed",
          body=(
              f"Release test **{self.test.get_name()}** failed. "
              f"See {self.test_results[0].url} for more details.\n\n"
              f"Managed by OSS Test Policy"
          ),
          labels=labels,
          assignee=DEFAULT_ISSUE_OWNER,
      ).number
      self.test[Test.KEY_GITHUB_ISSUE_NUMBER] = issue_number
  
file_path: ray/release/ray_release/test_automation/release_state_machine.py
imports: from datetime import datetime, timedelta
  from ray_release.test_automation.state_machine import TestStateMachine, DEFAULT_ISSUE_OWNER
  from ray_release.test import Test, TestState
  from ray_release.logger import logger
label_desc: Use image node_id 8 for calling the ReleaseTestStateMachine obj's underlying member method code with example usage: obj._create_github_issue() without return types