다음을 통해 공유


Power Apps에서 Azure DevOps에 연결

Azure DevOps용 Power Apps 커넥터를 사용하면 Azure DevOps 인스턴스로 작업할 수 있습니다. Azure DevOps 쿼리를 보고, 유형별로 작업 항목을 선택하고, Azure DevOps에 연결된 캔버스 앱 내에서 세부 정보를 보거나 편집합니다.

팁 (조언)

모든 작업의 전체 목록은 Azure DevOps 커넥터 작업을 참조하세요.

이 문서에서는 Azure DevOps에 연결하여 쿼리 목록을 가져오고 프로젝트의 작업 항목과 상호 작용하는 캔버스 앱을 빌드하는 방법을 안내합니다.

필수 조건

다음이 필요합니다.

1단계 - Azure DevOps 데이터 원본 추가

Azure DevOps에 연결하려면 빈 캔버스 앱을편집하고 Azure DevOps 데이터 원본을 추가합니다.

데이터 원본 선택 창에서 Azure DevOps에 연결하는 스크린샷

Azure DevOps 연결이 없는 경우 연결을 선택하고 프롬프트에 따라 세부 정보를 입력하고 앱이 연결되도록 허용합니다.

2단계 - 공유 쿼리 나열

이 섹션에서는 Azure DevOps 커넥터에 대한 ListQueriesInFolder 작업을 사용하여 사용 가능한 쿼리를 나열합니다.

  1. 왼쪽 창에서레이아웃>빈 세로 갤러리삽입>을 선택합니다.

  2. 갤러리의 Items 속성에 대해 다음 수식을 입력합니다. 예제 매개 변수 값을 사용자 고유의 값으로 바꿉 있습니다.

    AzureDevOps.ListQueriesInFolder("Project", "Organization", "Folder").value
    

세로 갤러리의 Items 속성에 추가된 수식을 사용하는 폴더의 목록 쿼리 스크린샷

이 예제에서는 "Project", "Organization" 및 "Folder" 변수를 사용합니다. 실제 값은 수식 입력줄 아래의 텍스트 상자에 있습니다(강조 표시됨). Azure DevOps에 연결하는 데 사용되는 URL에서 프로젝트 및 조직 값을 찾습니다. 폴더는 일반적으로 "공유 쿼리" 또는 "내 쿼리"입니다.

Azure DevOps 인스턴스의 프로젝트 및 조직 이름을 찾는 스크린샷

위의 수식에서 다음 오류가 발생하면 Azure DevOps 조직에서 OAuth를 사용하여 타사 앱 액세스를 사용하도록 설정하고 다시 시도합니다.

"AzureDevOps.ListQueriesInFolder 실패:{"status":401,"message":"TF400813:사용자 'GUID'는 이 리소스에 액세스할 권한이 없습니다."}"

  1. 갤러리의 레이아웃제목 및 부제목으로 설정합니다.

  2. 제목 및 부제목에 대한 이름FolderOptions로 Azure DevOps 에 적합한 필드를 선택합니다.

쿼리를 나열하기 위한 갤러리 필드의 스크린샷

3단계 - 작업 항목 나열

Azure DevOps 커넥터에 대한 GetQueryResultsV2 작업을 사용하여 선택한 쿼리에 대한 모든 작업 항목을 나열합니다. 이 작업은 갤러리를 데이터 원본에 바인딩합니다.

  1. 다른 빈 세로 갤러리를 삽입하고 기존 갤러리 옆에 배치합니다.

  2. 갤러리의 Items 속성에 대해 다음 수식을 입력합니다. 예제 매개 변수 값을 프로젝트 및 조직 이름으로 바꿉니다.

    AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id), "Organization").value
    

선택한 쿼리를 기반으로 기존 갤러리에서 쿼리 결과를 가져오는 스크린샷

이 수식은 프로젝트 이름, 쿼리 ID 및 조직 이름과 함께 GetQueryResultsV2 작업을 사용합니다. 이 예제(Gallery2.Selected.Id)의 쿼리 ID는 이전에 추가된 갤러리를 통해 사용할 수 있는 쿼리 목록에서 선택한 쿼리를 나타냅니다. 필요에 따라 갤러리 이름을 바꿉다.

GetQueryResultsV2의 결과는 동적이므로 값도 동적입니다.

제목, 작업 항목 유형의 작업 항목 필드 스크린샷

그러나 일부 값에 액세스할 수 있습니다. Azure DevOps는 모든 형식화된 항목에 대한 기본 값 집합을 반환합니다. 갤러리에서 데이터 카드를 선택하고 두 개의 텍스트 레이블을 삽입합니다. 레이블의 텍스트 속성을 다음과 같이 설정합니다.

ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'

4단계 - 작업 항목 표시

앱은 모든 쿼리 목록과 선택한 쿼리에 대한 작업 항목 목록을 표시합니다. 이제 편집 양식을 추가하여 데이터를 표시합니다.

  1. 두 갤러리를 화면 왼쪽으로 이동하여 편집 폼을 위한 공간을 만듭니다.

  2. 편집 양식을 화면에 추가하고 갤러리의 오른쪽으로 이동합니다.

편집 양식을 추가하는 스크린샷

  1. 편집 양식의 DataSource 속성을 .로 AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value설정합니다. "프로젝트" 및 "조직"을 프로젝트 및 조직 이름으로 대체합니다.

  2. 편집 양식의 Item 속성을 .로 Gallery2.Selected설정합니다.

이 수식은 편집 폼의 Item 속성을 선택한 작업 항목으로 설정합니다.

  1. ...(줄임표) >사용자 지정 카드 추가를 선택합니다.

편집 양식에 사용자 지정 카드를 추가하는 스크린샷

  1. 데이터 카드를 편집 양식의 맨 위로 이동합니다.

편집 양식 내의 맨 위 섹션으로 이동한 사용자 지정 카드의 스크린샷

  1. 텍스트 입력 컨트롤의 크기를 늘립니다.

사용자 지정 카드 내의 텍스트 입력 컨트롤 스크린샷

  1. 텍스트 입력 컨트롤의 Default 속성을 .로 Text(ThisItem.Value.'System.Title')설정합니다. Text 함수는 값을 텍스트로 반환합니다.

작업 항목의 제목을 참조하는 텍스트 입력 컨트롤의 스크린샷

이 수식은 텍스트 입력 컨트롤 내의 기본 텍스트를 선택한 Azure DevOps 작업 항목의 제목 필드로 설정합니다.

팁 (조언)

Azure DevOps 프로젝트에서 HTML 또는 서식 있는 텍스트가 있는 설명 필드를 사용하는 경우 텍스트 입력 또는 레이블 컨트롤 대신 서식 있는 텍스트 편집기 입력 컨트롤을 사용합니다. 서식 있는 텍스트 편집기 컨트롤을 사용하면 설명을 HTML 코드 대신 서식 있는 텍스트로 표시할 수 있습니다.

  1. 기본 속성이 로 설정된 내부 텍스트 입력 컨트롤을 사용하여 다른 사용자 지정 카드를 추가하려면 이전 단계를 반복합니다 Text(ThisItem.Value.'System.State').

이 수식은 텍스트 입력 컨트롤 내의 기본 텍스트를 선택한 Azure DevOps 작업 항목의 상태 필드로 설정합니다.

  1. 편집 폼 내에서 데이터 카드를 다시 정렬하여 저장 아이콘의 공간을 만듭니다.

양식에 동적 반환 값 추가

지금까지 양식의 모든 데이터 카드에 공통 DataSource 및 Item 속성을 제공하여 데이터 액세스를 간소화하는 편집 양식을 사용했습니다. 동적 값에 액세스하려면 다음과 같이 데이터 원본과 항목 속성을 모두 설정합니다(조직 및 Project를 값으로 바꿉니다.)

AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType')

"Feature"와 같은 텍스트 속성 "WorkItemType"을 전달하면 기능 및 작업 항목과 같은 항목 간에 전환할 수 있습니다. 이러한 항목에 대한 필드 집합이 다르기 때문에 이 호출의 반환 형식은 동적입니다.

Common 메서드 Text(ThisItem.Value.'System)를 사용하여 특정 값에 액세스합니다. Id'). 또는 Text(ThisItem.fields.System_Id)를 사용하여 보다 일반적인 동적 응답을 통해 액세스합니다. 이러한 동적 값 이름은 일반적으로 문서화되지 않습니다. 비표준 필드를 포함하여 이러한 필드에 대한 올바른 이름을 찾으려면 모니터 도구를 열고 GetWorkItemDetails 호출에 대한 데이터 응답을 검사합니다. 지침은 아래 이미지를 참조하세요.

편집 양식을 사용하지 않지만 컨테이너를 사용하는 경우 사용자 지정 팀 필드에서 정보를 가져오는 아래 수식과 같은 수식을 사용하여 이러한 값을 검색합니다.

Text(AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType').fields.One_custom_CustomField1)

작업 항목 세부 정보를 보여 주는 모니터 도구의 스크린샷

Azure DevOps에서 값 업데이트

Azure DevOps에서 값을 업데이트하려면 단추 속성의 OnSelect 함수를 사용합니다UpdateWorkItem.

AzureDevOps.UpdateWorkItem(
    Gallery2.Selected.Value.'System.Id',
    Organization,
    {
        description: "This is a new description",
        dynamicFields: ParseJSON(JSON({'Custom Field 1': "This is new custom text" }))
    }
)

수식은 새 샘플 텍스트를 추가하지만 Power Fx 식을 사용할 수도 있습니다.

수식에서 기본 제공 필드 이름에 소문자를 사용하는지 확인합니다. 예를 들어 설명 필드를 참조할 때 대신 사용합니다 description: "This is a new description"Description: "This is a new description". 대/소문자를 잘못 지정하면 "요청된 작업에 400 필수 매개 변수가 누락되었습니다. 'UpdateWorkItem'" 오류가 발생할 수 있습니다. 사용자 지정 또는 동적 값의 경우 UI에 표시된 대로 표시 이름(예: '사용자 지정 필드 1')을 사용합니다. 이 명명 규칙은 Azure DevOps와 관련이 있으며 다른 서비스와 다를 수 있습니다.

다음 단계

앱을 실행하세요. 쿼리 목록에서 쿼리를 선택합니다. 그런 다음 제목 또는 설명을 업데이트할 작업 항목을 선택합니다. 변경한 다음 저장 단추를 선택합니다. 앱은 변경 내용을 Azure DevOps 작업 항목에 저장합니다. 다른 쿼리로 전환한 다음 다시 전환하여 앱의 변경 내용을 확인합니다.

또한 앱을 추가로 사용자 지정하거나 양식에 더 많은 데이터 카드가 있는 앱을 만들 수도 있습니다. 편집 양식 대신 표시 양식을 사용하여 다른 데이터 카드에 데이터를 표시합니다. 표시 폼을 사용하는 경우 텍스트 레이블 컨트롤을 사용하여 텍스트를 표시합니다. 서식 있는 텍스트 또는 HTML 형식(예: Azure DevOps의 설명 필드)을 사용하는 경우 HTML 텍스트 컨트롤을 사용합니다. 앱 사용자 지정에 대한 자세한 내용은 컨트롤, 갤러리, 양식카드를 참조하세요.

참고하십시오

Power Apps에서 동적 스키마 데이터 원본 작업(실험적)