API를 사용하여 Azure Devops의 다른 프로젝트에 대한 정보를 읽을 수 있도록 파이프 라인에 권한을 부여 할 수 있나요?

vipes

이 Azure DevOps API 호출을 사용하려고합니다.

GET https://dev.azure.com/{organization}/_apis/projects/{projectId}?api-version=5.1

여기문서화 되어 ID가있을 때 프로젝트 이름을 검색합니다. 파이프 라인은 정의 된 프로젝트가 아닌 다른 프로젝트에 대한 프로젝트 정보를 검색하려고합니다. 다음은 파이프 라인이 자체 프로젝트 ID를 제공 할 때 작동하는 코드입니다.

  $VstsBaseRestUrl = "$(System.TeamFoundationCollectionUri)"

  $projectsUrl = "$VstsBaseRestUrl/_apis/projects/${{ parameters.project }}?api-version=5.1"

  $rawResponse = Invoke-WebRequest -UseDefaultCredentials -Uri $projectsUrl -Method Get -ContentType "application/json" -Headers @{
        Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
    }

응답은 다음과 같이 반환됩니다.

{"$id":"1","innerException":null,"message":"VS800075: The project with id 'vstfs:///Classification/TeamProject/xxxxx' does not exist, or you do not have permission to access it.","typeName":"Microsoft.TeamFoundation.Core.WebApi.ProjectDoesNotExistException, Microsoft.TeamFoundation.Core.WebApi","typeKey":"ProjectDoesNotExistException","errorCode":0,"eventId":3000}

올바른 프로젝트 ID를 사용하고 있는데 파이프 라인에이 호출을 승인 할 권한을 부여하려면 어떻게해야합니까?

참고 : 필요하지 않은 경우 PAT를 사용하지 않습니다. 즉, SYSTEM_ACCESSTOKEN 접근 방식이 계속 작동하도록 어떻게 든 빌드 계정에이를 부여합니다.

Levi Lu-MSFT
  • 이 호출을 승인 할 수있는 권한을 파이프 라인에 부여하려면 어떻게해야합니까?

위의 rest api를 호출하여 프로젝트 A의 파이프 라인에서 프로젝트 B의 정보를 검색한다고 가정 해 보겠습니다.

View project-level information프로젝트 B에서 프로젝트 A의 빌드 서비스 계정을 부여해야합니다 . 다음은 세부 단계입니다.

1, 프로젝트 B (정보를 검색하려는 프로젝트) 프로젝트 설정 으로 이동 -> 권한 -> 관리자 그룹 빌드 선택 (새 그룹을 생성 할 수도 있음)

여기에 이미지 설명 입력

2, 클릭 회원 빌드 관리자 그룹의 탭을 -> 클릭 추가 > 프로젝트 A의 빌드 서비스 계정 추가 -

프로젝트 A의 빌드 서비스 계정은 다음과 같습니다. NameofProjectA 빌드 서비스 (NameofOrganization) 예. ProjectA 빌드 서비스 (MyOrganization)

여기에 이미지 설명 입력

선택 과목:

프로젝트 B에서 새 그룹을 만들고 프로젝트 A의 빌드 서비스 계정을 구성원에게 추가 할 수도 있습니다. 그리고 View project-level information허용 되는지 확인하십시오

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관