웹후크

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

웹후크는 이벤트의 JSON 표현을 모든 서비스에 보내는 방법을 제공합니다. 공용 엔드포인트(HTTP 또는 HTTPS)만 있으면 됩니다.

이 소비자가 게시한 JSON 페이로드에 대한 자세한 내용은 이벤트를 참조하세요.

필수 조건

조직 소유자 또는 프로젝트 컬렉션 관리인만 조직의 웹후크를 관리할 수 있습니다.

서비스에 JSON 표현 보내기

  1. 프로젝트 서비스 후크 페이지로 이동합니다.

    https://{orgName}/{project_name}/_settings/serviceHooks

    프로젝트 관리 페이지의 최신 버전 스크린샷

    구독 만들기를 선택합니다.

  2. Azure DevOps Services 이벤트를 선택하고 구성합니다.

    이벤트 구성 대화 상자

  3. 이벤트가 발생할 때 수행할 작업을 구성합니다.

    보낼 리소스 세부 정보, 보낼 메시지설정을 보낼 자세한 메시지에 대한 자세한 내용은 다음 Q &A 참조하세요.

    작업 구성 대화 상자

  4. 서비스 후크 구독을 테스트하고 마법사를 완료합니다.

    테스트

이제 웹후크가 설정됩니다. 대상 서비스로 이동하여 JSON 표현을 확인합니다.

JSON 표현 보기

가격 책정

Azure DevOps는 외부 서비스와 통합하기 위한 프레임워크에 대해 요금을 부과하지 않습니다. 특정 서비스의 사이트에서 해당 서비스와 관련된 가격 책정을 확인하세요.

질문 및 답변

Q: 보낼 리소스 세부 정보, 보낼 메시지 및 설정을 보낼 자세한 메시지는 무엇인가요?

A: 전송되는 JSON 페이로드의 크기를 제어합니다.

보내기 위한 리소스 세부 정보는 전송되는 리소스의 양을 제어합니다. 기본값은 모두이지만 최소값(URL 및 ID와 같은 키 필드만 전송) 또는 없음을 보내도록 선택할 수도 있습니다.

NoneMinimal 은 메시지 또는 자세한 메시지에 의존하기 때문에 호출자가 실제로 리소스에 대해 많이 필요하지 않은 시나리오에서 유용합니다. NoneMinimal은 보안상의 이유로도 유용합니다. 예를 들어 호출자는 Azure DevOps Services로 다시 호출하고 일반적인 보안/권한 검사 통해 리소스에 대한 자세한 정보를 가져와야 합니다.

JSON 샘플:

	{
	    "eventType": "git.push",
	    ...
	    "messages": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "detailedMessage": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "resource": {
	        "id": "...",
	        "url": "https://...",
	        "name": "...",
	        "field1:": "..."
	    }
	}	

Q: 프로그래밍 방식으로 구독을 만들 수 있나요?

A: 예, 자세한 내용은 여기를 참조하세요.

Q: 웹후크를 HTTPS가 아닌 엔드포인트로 보낼 수 있나요?

A: 예. 그러나 웹후크에 HTTPS 엔드포인트만 사용하는 것이 좋습니다. HTTP를 사용하면 프라이빗 데이터가 암호화되지 않은 상태로 전송될 가능성이 있습니다. 여기에는 웹후크의 모든 인증 헤더가 포함됩니다.

Q: HTTPS가 아닌 웹후크를 설정할 때 기본 인증을 사용할 수 있나요?

A: 아니요. 웹후크에서 기본 인증을 사용할 때는 HTTPS를 사용해야 합니다.

Q: localhost 또는 특수 범위 IP를 웹후크 대상으로 사용할 수 있나요?

A: 아니요. 웹후크는 localhost(루프백) 또는 특수 범위 IPv4/IPv6 주소를 대상으로 할 수 없습니다.